aboutsummaryrefslogtreecommitdiff
path: root/.config/emacs/lisp/evil-collection
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/lisp/evil-collection')
-rw-r--r--.config/emacs/lisp/evil-collection/.github/PULL_REQUEST_TEMPLATE.md21
-rw-r--r--.config/emacs/lisp/evil-collection/.github/workflows/build.yaml51
-rw-r--r--.config/emacs/lisp/evil-collection/.gitignore4
-rw-r--r--.config/emacs/lisp/evil-collection/Cask12
-rw-r--r--.config/emacs/lisp/evil-collection/Eask47
-rw-r--r--.config/emacs/lisp/evil-collection/LICENSE674
-rwxr-xr-x.config/emacs/lisp/evil-collection/Makefile22
-rw-r--r--.config/emacs/lisp/evil-collection/README.org821
-rw-r--r--.config/emacs/lisp/evil-collection/evil-collection.el1129
-rw-r--r--.config/emacs/lisp/evil-collection/modes/.nosearch0
-rw-r--r--.config/emacs/lisp/evil-collection/modes/2048-game/evil-collection-2048-game.el54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ag/README.org22
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ag/evil-collection-ag.el63
-rw-r--r--.config/emacs/lisp/evil-collection/modes/agent-shell/README.org137
-rw-r--r--.config/emacs/lisp/evil-collection/modes/agent-shell/evil-collection-agent-shell.el254
-rw-r--r--.config/emacs/lisp/evil-collection/modes/alchemist/evil-collection-alchemist.el114
-rw-r--r--.config/emacs/lisp/evil-collection/modes/anaconda-mode/evil-collection-anaconda-mode.el66
-rw-r--r--.config/emacs/lisp/evil-collection/modes/apropos/README.org15
-rw-r--r--.config/emacs/lisp/evil-collection/modes/apropos/evil-collection-apropos.el52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/arc-mode/README.org30
-rw-r--r--.config/emacs/lisp/evil-collection/modes/arc-mode/evil-collection-arc-mode.el78
-rw-r--r--.config/emacs/lisp/evil-collection/modes/atomic-chrome/evil-collection-atomic-chrome.el42
-rw-r--r--.config/emacs/lisp/evil-collection/modes/auto-package-update/evil-collection-auto-package-update.el44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/beginend/evil-collection-beginend.el125
-rw-r--r--.config/emacs/lisp/evil-collection/modes/bluetooth/evil-collection-bluetooth.el59
-rw-r--r--.config/emacs/lisp/evil-collection/modes/bm/evil-collection-bm.el54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/bookmark/README.org36
-rw-r--r--.config/emacs/lisp/evil-collection/modes/bookmark/evil-collection-bookmark.el78
-rw-r--r--.config/emacs/lisp/evil-collection/modes/buff-menu/README.org35
-rw-r--r--.config/emacs/lisp/evil-collection/modes/buff-menu/evil-collection-buff-menu.el78
-rw-r--r--.config/emacs/lisp/evil-collection/modes/bufler/evil-collection-bufler.el57
-rw-r--r--.config/emacs/lisp/evil-collection/modes/calc/README.org52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/calc/evil-collection-calc.el172
-rw-r--r--.config/emacs/lisp/evil-collection/modes/calendar/README.org63
-rw-r--r--.config/emacs/lisp/evil-collection/modes/calendar/evil-collection-calendar.el146
-rw-r--r--.config/emacs/lisp/evil-collection/modes/cider/README.org164
-rw-r--r--.config/emacs/lisp/evil-collection/modes/cider/evil-collection-cider.el253
-rw-r--r--.config/emacs/lisp/evil-collection/modes/citre/evil-collection-citre.el47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/cmake-mode/README.org13
-rw-r--r--.config/emacs/lisp/evil-collection/modes/cmake-mode/evil-collection-cmake-mode.el44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/color-rg/evil-collection-color-rg.el71
-rw-r--r--.config/emacs/lisp/evil-collection/modes/comint/README.org29
-rw-r--r--.config/emacs/lisp/evil-collection/modes/comint/evil-collection-comint.el74
-rw-r--r--.config/emacs/lisp/evil-collection/modes/company/README.org51
-rw-r--r--.config/emacs/lisp/evil-collection/modes/company/evil-collection-company.el138
-rw-r--r--.config/emacs/lisp/evil-collection/modes/compile/README.org18
-rw-r--r--.config/emacs/lisp/evil-collection/modes/compile/evil-collection-compile.el67
-rw-r--r--.config/emacs/lisp/evil-collection/modes/consult/README.org26
-rw-r--r--.config/emacs/lisp/evil-collection/modes/consult/evil-collection-consult.el123
-rw-r--r--.config/emacs/lisp/evil-collection/modes/corfu/README.org54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/corfu/evil-collection-corfu.el180
-rw-r--r--.config/emacs/lisp/evil-collection/modes/crdt/evil-collection-crdt.el57
-rw-r--r--.config/emacs/lisp/evil-collection/modes/csv/evil-collection-csv.el43
-rw-r--r--.config/emacs/lisp/evil-collection/modes/cus-theme/README.org30
-rw-r--r--.config/emacs/lisp/evil-collection/modes/cus-theme/evil-collection-cus-theme.el65
-rw-r--r--.config/emacs/lisp/evil-collection/modes/custom/README.org16
-rw-r--r--.config/emacs/lisp/evil-collection/modes/custom/evil-collection-custom.el68
-rw-r--r--.config/emacs/lisp/evil-collection/modes/daemons/evil-collection-daemons.el68
-rw-r--r--.config/emacs/lisp/evil-collection/modes/dape/README.org29
-rw-r--r--.config/emacs/lisp/evil-collection/modes/dape/evil-collection-dape.el74
-rw-r--r--.config/emacs/lisp/evil-collection/modes/dashboard/evil-collection-dashboard.el91
-rw-r--r--.config/emacs/lisp/evil-collection/modes/deadgrep/README.org24
-rw-r--r--.config/emacs/lisp/evil-collection/modes/deadgrep/evil-collection-deadgrep.el64
-rw-r--r--.config/emacs/lisp/evil-collection/modes/debbugs/evil-collection-debbugs.el81
-rw-r--r--.config/emacs/lisp/evil-collection/modes/debug/README.org26
-rw-r--r--.config/emacs/lisp/evil-collection/modes/debug/evil-collection-debug.el79
-rw-r--r--.config/emacs/lisp/evil-collection/modes/devdocs/evil-collection-devdocs.el66
-rw-r--r--.config/emacs/lisp/evil-collection/modes/dictionary/evil-collection-dictionary.el51
-rw-r--r--.config/emacs/lisp/evil-collection/modes/diff-hl/README.org29
-rw-r--r--.config/emacs/lisp/evil-collection/modes/diff-hl/evil-collection-diff-hl.el75
-rw-r--r--.config/emacs/lisp/evil-collection/modes/diff-mode/README.org66
-rw-r--r--.config/emacs/lisp/evil-collection/modes/diff-mode/evil-collection-diff-mode.el222
-rw-r--r--.config/emacs/lisp/evil-collection/modes/difftastic/README.org20
-rw-r--r--.config/emacs/lisp/evil-collection/modes/difftastic/evil-collection-difftastic.el57
-rw-r--r--.config/emacs/lisp/evil-collection/modes/dired-sidebar/evil-collection-dired-sidebar.el52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/dired/README.org40
-rw-r--r--.config/emacs/lisp/evil-collection/modes/dired/evil-collection-dired.el224
-rw-r--r--.config/emacs/lisp/evil-collection/modes/disk-usage/evil-collection-disk-usage.el89
-rw-r--r--.config/emacs/lisp/evil-collection/modes/distel/evil-collection-distel.el81
-rw-r--r--.config/emacs/lisp/evil-collection/modes/doc-view/README.org42
-rw-r--r--.config/emacs/lisp/evil-collection/modes/doc-view/evil-collection-doc-view.el89
-rw-r--r--.config/emacs/lisp/evil-collection/modes/docker/evil-collection-docker.el89
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eat/README.org37
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eat/evil-collection-eat.el124
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ebib/evil-collection-ebib.el77
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ebuku/evil-collection-ebuku.el63
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eca/evil-collection-eca.el56
-rw-r--r--.config/emacs/lisp/evil-collection/modes/edbi/evil-collection-edbi.el108
-rw-r--r--.config/emacs/lisp/evil-collection/modes/edebug/README.org53
-rw-r--r--.config/emacs/lisp/evil-collection/modes/edebug/evil-collection-edebug.el126
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ediff/README.org21
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ediff/evil-collection-ediff.el205
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eglot/README.org19
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eglot/evil-collection-eglot.el50
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eldoc/README.org19
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eldoc/evil-collection-eldoc.el67
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elfeed/README.org64
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elfeed/evil-collection-elfeed.el139
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elisp-mode/README.org23
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elisp-mode/evil-collection-elisp-mode.el99
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elisp-refs/README.org12
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elisp-refs/evil-collection-elisp-refs.el52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elisp-slime-nav/README.org11
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elisp-slime-nav/evil-collection-elisp-slime-nav.el44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/elpaca/evil-collection-elpaca.el118
-rw-r--r--.config/emacs/lisp/evil-collection/modes/embark/README.org19
-rw-r--r--.config/emacs/lisp/evil-collection/modes/embark/evil-collection-embark.el52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ement/evil-collection-ement.el138
-rw-r--r--.config/emacs/lisp/evil-collection/modes/emms/README.org131
-rw-r--r--.config/emacs/lisp/evil-collection/modes/emms/evil-collection-emms.el266
-rw-r--r--.config/emacs/lisp/evil-collection/modes/emoji/README.org13
-rw-r--r--.config/emacs/lisp/evil-collection/modes/emoji/evil-collection-emoji.el44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/epa/README.org34
-rw-r--r--.config/emacs/lisp/evil-collection/modes/epa/evil-collection-epa.el71
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ert/README.org24
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ert/evil-collection-ert.el71
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eshell/README.org36
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eshell/evil-collection-eshell.el168
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eval-sexp-fu/README.org16
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eval-sexp-fu/evil-collection-eval-sexp-fu.el61
-rw-r--r--.config/emacs/lisp/evil-collection/modes/evil-mc/README.org49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/evil-mc/evil-collection-evil-mc.el79
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eww/README.org61
-rw-r--r--.config/emacs/lisp/evil-collection/modes/eww/evil-collection-eww.el128
-rw-r--r--.config/emacs/lisp/evil-collection/modes/explain-pause-mode/evil-collection-explain-pause-mode.el50
-rw-r--r--.config/emacs/lisp/evil-collection/modes/fanyi/evil-collection-fanyi.el47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/finder/README.org13
-rw-r--r--.config/emacs/lisp/evil-collection/modes/finder/evil-collection-finder.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/flycheck/README.org18
-rw-r--r--.config/emacs/lisp/evil-collection/modes/flycheck/evil-collection-flycheck.el56
-rw-r--r--.config/emacs/lisp/evil-collection/modes/flymake/README.org15
-rw-r--r--.config/emacs/lisp/evil-collection/modes/flymake/evil-collection-flymake.el52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/forge/README.org44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/forge/evil-collection-forge.el113
-rw-r--r--.config/emacs/lisp/evil-collection/modes/free-keys/evil-collection-free-keys.el53
-rw-r--r--.config/emacs/lisp/evil-collection/modes/fzfa/README.org19
-rw-r--r--.config/emacs/lisp/evil-collection/modes/fzfa/evil-collection-fzfa.el111
-rw-r--r--.config/emacs/lisp/evil-collection/modes/geiser/README.org62
-rw-r--r--.config/emacs/lisp/evil-collection/modes/geiser/evil-collection-geiser.el115
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ggtags/evil-collection-ggtags.el104
-rw-r--r--.config/emacs/lisp/evil-collection/modes/git-timemachine/README.org20
-rw-r--r--.config/emacs/lisp/evil-collection/modes/git-timemachine/evil-collection-git-timemachine.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/gited/evil-collection-gited.el157
-rw-r--r--.config/emacs/lisp/evil-collection/modes/gnus/README.org274
-rw-r--r--.config/emacs/lisp/evil-collection/modes/gnus/evil-collection-gnus.el491
-rw-r--r--.config/emacs/lisp/evil-collection/modes/go-mode/README.org19
-rw-r--r--.config/emacs/lisp/evil-collection/modes/go-mode/evil-collection-go-mode.el47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/gptel/README.org47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/gptel/evil-collection-gptel.el82
-rw-r--r--.config/emacs/lisp/evil-collection/modes/grep/README.org15
-rw-r--r--.config/emacs/lisp/evil-collection/modes/grep/evil-collection-grep.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/guix/evil-collection-guix.el217
-rw-r--r--.config/emacs/lisp/evil-collection/modes/hackernews/evil-collection-hackernews.el63
-rw-r--r--.config/emacs/lisp/evil-collection/modes/helm/README.org107
-rw-r--r--.config/emacs/lisp/evil-collection/modes/helm/evil-collection-helm.el238
-rw-r--r--.config/emacs/lisp/evil-collection/modes/help/README.org23
-rw-r--r--.config/emacs/lisp/evil-collection/modes/help/evil-collection-help.el80
-rw-r--r--.config/emacs/lisp/evil-collection/modes/helpful/README.org19
-rw-r--r--.config/emacs/lisp/evil-collection/modes/helpful/evil-collection-helpful.el54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/hg-histedit/evil-collection-hg-histedit.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/hideshow/README.org11
-rw-r--r--.config/emacs/lisp/evil-collection/modes/hideshow/evil-collection-hideshow.el45
-rw-r--r--.config/emacs/lisp/evil-collection/modes/hungry-delete/evil-collection-hungry-delete.el60
-rw-r--r--.config/emacs/lisp/evil-collection/modes/hyrolo/evil-collection-hyrolo.el32
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ibuffer/README.org60
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ibuffer/evil-collection-ibuffer.el197
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ielm/README.org22
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ielm/evil-collection-ielm.el60
-rw-r--r--.config/emacs/lisp/evil-collection/modes/image+/evil-collection-image+.el54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/image-dired/README.org31
-rw-r--r--.config/emacs/lisp/evil-collection/modes/image-dired/evil-collection-image-dired.el74
-rw-r--r--.config/emacs/lisp/evil-collection/modes/image/README.org36
-rw-r--r--.config/emacs/lisp/evil-collection/modes/image/evil-collection-image.el93
-rw-r--r--.config/emacs/lisp/evil-collection/modes/imenu-list/evil-collection-imenu-list.el47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/imenu/README.org11
-rw-r--r--.config/emacs/lisp/evil-collection/modes/imenu/evil-collection-imenu.el39
-rw-r--r--.config/emacs/lisp/evil-collection/modes/indent/README.org15
-rw-r--r--.config/emacs/lisp/evil-collection/modes/indent/evil-collection-indent.el48
-rw-r--r--.config/emacs/lisp/evil-collection/modes/indium/evil-collection-indium.el110
-rw-r--r--.config/emacs/lisp/evil-collection/modes/info/README.org40
-rw-r--r--.config/emacs/lisp/evil-collection/modes/info/evil-collection-info.el110
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ivy/README.org51
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ivy/evil-collection-ivy.el111
-rw-r--r--.config/emacs/lisp/evil-collection/modes/js2-mode/README.org12
-rw-r--r--.config/emacs/lisp/evil-collection/modes/js2-mode/evil-collection-js2-mode.el46
-rw-r--r--.config/emacs/lisp/evil-collection/modes/kmacro/README.org22
-rw-r--r--.config/emacs/lisp/evil-collection/modes/kmacro/evil-collection-kmacro.el58
-rw-r--r--.config/emacs/lisp/evil-collection/modes/kotlin-mode/evil-collection-kotlin-mode.el42
-rw-r--r--.config/emacs/lisp/evil-collection/modes/leetcode/evil-collection-leetcode.el46
-rw-r--r--.config/emacs/lisp/evil-collection/modes/lispy/README.org140
-rw-r--r--.config/emacs/lisp/evil-collection/modes/lispy/evil-collection-lispy.el659
-rw-r--r--.config/emacs/lisp/evil-collection/modes/lms/evil-collection-lms.el404
-rw-r--r--.config/emacs/lisp/evil-collection/modes/log-edit/README.org17
-rw-r--r--.config/emacs/lisp/evil-collection/modes/log-edit/evil-collection-log-edit.el57
-rw-r--r--.config/emacs/lisp/evil-collection/modes/log-view/README.org20
-rw-r--r--.config/emacs/lisp/evil-collection/modes/log-view/evil-collection-log-view.el63
-rw-r--r--.config/emacs/lisp/evil-collection/modes/lsp-ui-imenu/evil-collection-lsp-ui-imenu.el47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/lua-mode/README.org18
-rw-r--r--.config/emacs/lisp/evil-collection/modes/lua-mode/evil-collection-lua-mode.el50
-rw-r--r--.config/emacs/lisp/evil-collection/modes/macrostep/README.org13
-rw-r--r--.config/emacs/lisp/evil-collection/modes/macrostep/evil-collection-macrostep.el52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/magit-repos/README.org17
-rw-r--r--.config/emacs/lisp/evil-collection/modes/magit-repos/evil-collection-magit-repos.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/magit-section/README.org47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/magit-section/evil-collection-magit-section.el91
-rw-r--r--.config/emacs/lisp/evil-collection/modes/magit-todos/README.org32
-rw-r--r--.config/emacs/lisp/evil-collection/modes/magit-todos/evil-collection-magit-todos.el62
-rw-r--r--.config/emacs/lisp/evil-collection/modes/magit/README.org212
-rw-r--r--.config/emacs/lisp/evil-collection/modes/magit/evil-collection-magit.el747
-rw-r--r--.config/emacs/lisp/evil-collection/modes/man/README.org22
-rw-r--r--.config/emacs/lisp/evil-collection/modes/man/evil-collection-man.el68
-rw-r--r--.config/emacs/lisp/evil-collection/modes/markdown-mode/README.org14
-rw-r--r--.config/emacs/lisp/evil-collection/modes/markdown-mode/evil-collection-markdown-mode.el50
-rw-r--r--.config/emacs/lisp/evil-collection/modes/message/README.org18
-rw-r--r--.config/emacs/lisp/evil-collection/modes/message/evil-collection-message.el46
-rw-r--r--.config/emacs/lisp/evil-collection/modes/minesweeper/evil-collection-minesweeper.el53
-rw-r--r--.config/emacs/lisp/evil-collection/modes/minibuffer/README.org47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/minibuffer/evil-collection-minibuffer.el85
-rw-r--r--.config/emacs/lisp/evil-collection/modes/monky/evil-collection-monky.el129
-rw-r--r--.config/emacs/lisp/evil-collection/modes/mpc/README.org44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/mpc/evil-collection-mpc.el80
-rw-r--r--.config/emacs/lisp/evil-collection/modes/mpdel/evil-collection-mpdel.el96
-rw-r--r--.config/emacs/lisp/evil-collection/modes/mpdired/evil-collection-mpdired.el85
-rw-r--r--.config/emacs/lisp/evil-collection/modes/mu4e-conversation/evil-collection-mu4e-conversation.el75
-rw-r--r--.config/emacs/lisp/evil-collection/modes/mu4e/evil-collection-mu4e-1.8.el435
-rw-r--r--.config/emacs/lisp/evil-collection/modes/mu4e/evil-collection-mu4e.el344
-rw-r--r--.config/emacs/lisp/evil-collection/modes/neotree/evil-collection-neotree.el101
-rw-r--r--.config/emacs/lisp/evil-collection/modes/newsticker/README.org56
-rw-r--r--.config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el116
-rw-r--r--.config/emacs/lisp/evil-collection/modes/notmuch/README.org142
-rw-r--r--.config/emacs/lisp/evil-collection/modes/notmuch/evil-collection-notmuch.el256
-rw-r--r--.config/emacs/lisp/evil-collection/modes/nov/evil-collection-nov.el67
-rw-r--r--.config/emacs/lisp/evil-collection/modes/omnisharp/evil-collection-omnisharp.el44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/org-agenda/evil-collection-org-agenda.el147
-rw-r--r--.config/emacs/lisp/evil-collection/modes/org-present/evil-collection-org-present.el65
-rw-r--r--.config/emacs/lisp/evil-collection/modes/org-roam/evil-collection-org-roam.el56
-rw-r--r--.config/emacs/lisp/evil-collection/modes/org/README.org46
-rw-r--r--.config/emacs/lisp/evil-collection/modes/org/evil-collection-org.el87
-rw-r--r--.config/emacs/lisp/evil-collection/modes/osx-dictionary/evil-collection-osx-dictionary.el47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/outline/README.org39
-rw-r--r--.config/emacs/lisp/evil-collection/modes/outline/evil-collection-outline.el116
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ovpn-mode/evil-collection-ovpn-mode.el56
-rw-r--r--.config/emacs/lisp/evil-collection/modes/p-search/evil-collection-p-search.el85
-rw-r--r--.config/emacs/lisp/evil-collection/modes/p4/evil-collection-p4.el123
-rw-r--r--.config/emacs/lisp/evil-collection/modes/package-menu/README.org22
-rw-r--r--.config/emacs/lisp/evil-collection/modes/package-menu/evil-collection-package-menu.el60
-rw-r--r--.config/emacs/lisp/evil-collection/modes/pass/evil-collection-pass.el102
-rw-r--r--.config/emacs/lisp/evil-collection/modes/pdf/evil-collection-pdf.el320
-rw-r--r--.config/emacs/lisp/evil-collection/modes/popup/README.org12
-rw-r--r--.config/emacs/lisp/evil-collection/modes/popup/evil-collection-popup.el44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/proced/README.org33
-rw-r--r--.config/emacs/lisp/evil-collection/modes/proced/evil-collection-proced.el88
-rw-r--r--.config/emacs/lisp/evil-collection/modes/process-menu/README.org18
-rw-r--r--.config/emacs/lisp/evil-collection/modes/process-menu/evil-collection-process-menu.el54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/prodigy/evil-collection-prodigy.el86
-rw-r--r--.config/emacs/lisp/evil-collection/modes/profiler/README.org25
-rw-r--r--.config/emacs/lisp/evil-collection/modes/profiler/evil-collection-profiler.el71
-rw-r--r--.config/emacs/lisp/evil-collection/modes/python/README.org17
-rw-r--r--.config/emacs/lisp/evil-collection/modes/python/evil-collection-python.el52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/quickrun/evil-collection-quickrun.el42
-rw-r--r--.config/emacs/lisp/evil-collection/modes/racer/evil-collection-racer.el48
-rw-r--r--.config/emacs/lisp/evil-collection/modes/racket-describe/evil-collection-racket-describe.el45
-rw-r--r--.config/emacs/lisp/evil-collection/modes/reader/evil-collection-reader.el162
-rw-r--r--.config/emacs/lisp/evil-collection/modes/realgud/evil-collection-realgud.el103
-rw-r--r--.config/emacs/lisp/evil-collection/modes/reftex/README.org75
-rw-r--r--.config/emacs/lisp/evil-collection/modes/reftex/evil-collection-reftex.el174
-rw-r--r--.config/emacs/lisp/evil-collection/modes/replace/README.org34
-rw-r--r--.config/emacs/lisp/evil-collection/modes/replace/evil-collection-replace.el79
-rw-r--r--.config/emacs/lisp/evil-collection/modes/restclient/evil-collection-restclient.el66
-rw-r--r--.config/emacs/lisp/evil-collection/modes/rg/README.org47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/rg/evil-collection-rg.el91
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ripgrep/README.org14
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ripgrep/evil-collection-ripgrep.el48
-rw-r--r--.config/emacs/lisp/evil-collection/modes/rjsx-mode/evil-collection-rjsx-mode.el47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/robe/evil-collection-robe.el45
-rw-r--r--.config/emacs/lisp/evil-collection/modes/rtags/evil-collection-rtags.el141
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ruby-mode/README.org9
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ruby-mode/evil-collection-ruby-mode.el45
-rw-r--r--.config/emacs/lisp/evil-collection/modes/scheme/README.org17
-rw-r--r--.config/emacs/lisp/evil-collection/modes/scheme/evil-collection-scheme.el47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/scroll-lock/README.org24
-rw-r--r--.config/emacs/lisp/evil-collection/modes/scroll-lock/evil-collection-scroll-lock.el87
-rw-r--r--.config/emacs/lisp/evil-collection/modes/selectrum/README.org43
-rw-r--r--.config/emacs/lisp/evil-collection/modes/selectrum/evil-collection-selectrum.el72
-rw-r--r--.config/emacs/lisp/evil-collection/modes/sh-script/README.org15
-rw-r--r--.config/emacs/lisp/evil-collection/modes/sh-script/evil-collection-sh-script.el48
-rw-r--r--.config/emacs/lisp/evil-collection/modes/shell-maker/evil-collection-shell-maker.el65
-rw-r--r--.config/emacs/lisp/evil-collection/modes/shortdoc/README.org20
-rw-r--r--.config/emacs/lisp/evil-collection/modes/shortdoc/evil-collection-shortdoc.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/simple-mpc/evil-collection-simple-mpc.el122
-rw-r--r--.config/emacs/lisp/evil-collection/modes/simple/README.org23
-rw-r--r--.config/emacs/lisp/evil-collection/modes/simple/evil-collection-simple.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/slime/evil-collection-slime.el222
-rw-r--r--.config/emacs/lisp/evil-collection/modes/sly/evil-collection-sly.el276
-rw-r--r--.config/emacs/lisp/evil-collection/modes/smerge-mode/README.org16
-rw-r--r--.config/emacs/lisp/evil-collection/modes/smerge-mode/evil-collection-smerge-mode.el54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/snake/README.org16
-rw-r--r--.config/emacs/lisp/evil-collection/modes/snake/evil-collection-snake.el50
-rw-r--r--.config/emacs/lisp/evil-collection/modes/so-long/README.org22
-rw-r--r--.config/emacs/lisp/evil-collection/modes/so-long/evil-collection-so-long.el51
-rw-r--r--.config/emacs/lisp/evil-collection/modes/speedbar/README.org61
-rw-r--r--.config/emacs/lisp/evil-collection/modes/speedbar/evil-collection-speedbar.el110
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tab-bar/README.org15
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tab-bar/evil-collection-tab-bar.el59
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tablist/evil-collection-tablist.el64
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tabulated-list/README.org20
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tabulated-list/evil-collection-tabulated-list.el54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tar-mode/README.org27
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tar-mode/evil-collection-tar-mode.el81
-rw-r--r--.config/emacs/lisp/evil-collection/modes/telega/evil-collection-telega.el218
-rw-r--r--.config/emacs/lisp/evil-collection/modes/term/README.org55
-rw-r--r--.config/emacs/lisp/evil-collection/modes/term/evil-collection-term.el170
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tetris/README.org18
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tetris/evil-collection-tetris.el55
-rw-r--r--.config/emacs/lisp/evil-collection/modes/thread/README.org14
-rw-r--r--.config/emacs/lisp/evil-collection/modes/thread/evil-collection-thread.el45
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tide/evil-collection-tide.el64
-rw-r--r--.config/emacs/lisp/evil-collection/modes/timer-list/README.org12
-rw-r--r--.config/emacs/lisp/evil-collection/modes/timer-list/evil-collection-timer-list.el43
-rw-r--r--.config/emacs/lisp/evil-collection/modes/transmission/evil-collection-transmission.el163
-rw-r--r--.config/emacs/lisp/evil-collection/modes/trashed/evil-collection-trashed.el87
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tuareg/README.org9
-rw-r--r--.config/emacs/lisp/evil-collection/modes/tuareg/evil-collection-tuareg.el44
-rw-r--r--.config/emacs/lisp/evil-collection/modes/typescript-mode/README.org13
-rw-r--r--.config/emacs/lisp/evil-collection/modes/typescript-mode/evil-collection-typescript-mode.el46
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ultra-scroll/evil-collection-ultra-scroll.el58
-rw-r--r--.config/emacs/lisp/evil-collection/modes/unimpaired/evil-collection-unimpaired.el313
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vc-annotate/README.org23
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vc-annotate/evil-collection-vc-annotate.el59
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vc-dir/README.org47
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vc-dir/evil-collection-vc-dir.el113
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vc-git/README.org16
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vc-git/evil-collection-vc-git.el48
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vdiff/README.org18
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vdiff/evil-collection-vdiff.el54
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vertico/README.org40
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vertico/evil-collection-vertico.el68
-rw-r--r--.config/emacs/lisp/evil-collection/modes/view/README.org14
-rw-r--r--.config/emacs/lisp/evil-collection/modes/view/evil-collection-view.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vlf/README.org46
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vlf/evil-collection-vlf.el86
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vterm/README.org55
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vterm/evil-collection-vterm.el308
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vundo/README.org31
-rw-r--r--.config/emacs/lisp/evil-collection/modes/vundo/evil-collection-vundo.el93
-rw-r--r--.config/emacs/lisp/evil-collection/modes/w3m/evil-collection-w3m.el87
-rw-r--r--.config/emacs/lisp/evil-collection/modes/wdired/README.org14
-rw-r--r--.config/emacs/lisp/evil-collection/modes/wdired/evil-collection-wdired.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/wgrep/README.org19
-rw-r--r--.config/emacs/lisp/evil-collection/modes/wgrep/evil-collection-wgrep.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/which-key/README.org17
-rw-r--r--.config/emacs/lisp/evil-collection/modes/which-key/evil-collection-which-key.el52
-rw-r--r--.config/emacs/lisp/evil-collection/modes/with-editor/README.org17
-rw-r--r--.config/emacs/lisp/evil-collection/modes/with-editor/evil-collection-with-editor.el45
-rw-r--r--.config/emacs/lisp/evil-collection/modes/woman/README.org13
-rw-r--r--.config/emacs/lisp/evil-collection/modes/woman/evil-collection-woman.el51
-rw-r--r--.config/emacs/lisp/evil-collection/modes/xref/README.org26
-rw-r--r--.config/emacs/lisp/evil-collection/modes/xref/evil-collection-xref.el76
-rw-r--r--.config/emacs/lisp/evil-collection/modes/xwidget/README.org43
-rw-r--r--.config/emacs/lisp/evil-collection/modes/xwidget/evil-collection-xwidget.el184
-rw-r--r--.config/emacs/lisp/evil-collection/modes/yaml-mode/README.org15
-rw-r--r--.config/emacs/lisp/evil-collection/modes/yaml-mode/evil-collection-yaml-mode.el42
-rw-r--r--.config/emacs/lisp/evil-collection/modes/youtube-dl/evil-collection-youtube-dl.el67
-rw-r--r--.config/emacs/lisp/evil-collection/modes/zmusic/evil-collection-zmusic.el49
-rw-r--r--.config/emacs/lisp/evil-collection/modes/ztree/evil-collection-ztree.el68
-rw-r--r--.config/emacs/lisp/evil-collection/test/evil-collection-magit-tests.el112
-rw-r--r--.config/emacs/lisp/evil-collection/test/evil-collection-test.el41
-rw-r--r--.config/emacs/lisp/evil-collection/test/test-helper.el9
-rw-r--r--.config/emacs/lisp/evil-collection/yasnippet_evil-collection45
369 files changed, 0 insertions, 29938 deletions
diff --git a/.config/emacs/lisp/evil-collection/.github/PULL_REQUEST_TEMPLATE.md b/.config/emacs/lisp/evil-collection/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index 748fcae..0000000
--- a/.config/emacs/lisp/evil-collection/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-### Brief summary of what the package does
-
-[Please write a quick summary of the package.]
-
-### Direct link to the package repository
-
-https://github.com/your/awesome_package
-
-### Checklist
-
-<!-- Please confirm with `x`: -->
-
-Assume you're working on `mpc` mode:
-
-- [ ] byte-compiles cleanly
-- [ ] `M-x checkdoc` is happy. Don't manually write `(provide 'evil-collection-mpc)`, `M-x checkdoc` can do it automatically for you
-- [ ] define `evil-collection-mpc-setup` with `defun`
-- [ ] define `evil-collection-mpc-mode-maps` with `defconst`
-- [ ] All functions should start with `evil-collection-mpc-`
-
-<!-- After submitting, please fix any problems the CI reports. -->
diff --git a/.config/emacs/lisp/evil-collection/.github/workflows/build.yaml b/.config/emacs/lisp/evil-collection/.github/workflows/build.yaml
deleted file mode 100644
index 37d6e78..0000000
--- a/.config/emacs/lisp/evil-collection/.github/workflows/build.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-name: evil-collection builds
-
-on:
- workflow_dispatch:
- pull_request:
- push:
- branches:
- - master
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
- check:
- runs-on: ${{ matrix.os }}
- continue-on-error: ${{ matrix.experimental }}
- strategy:
- fail-fast: false
- matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
- emacs-version:
- - 28.2
- - 29.4
- - 30.1
- experimental: [false]
- include:
- - os: ubuntu-latest
- emacs-version: snapshot
- experimental: true
- - os: macos-latest
- emacs-version: snapshot
- experimental: true
- steps:
- - uses: jcs090218/setup-emacs@master
- with:
- version: ${{ matrix.emacs-version }}
-
- - uses: actions/checkout@v4
-
- - name: Print emacs version
- run: emacs --version
-
- - uses: emacs-eask/setup-eask@master
- with:
- version: snapshot
-
- - run: make install
- - run: make compile
- - run: make lint
- - run: make test
diff --git a/.config/emacs/lisp/evil-collection/.gitignore b/.config/emacs/lisp/evil-collection/.gitignore
deleted file mode 100644
index 5824339..0000000
--- a/.config/emacs/lisp/evil-collection/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/.cask
-/.eask
-/dist
-*.elc
diff --git a/.config/emacs/lisp/evil-collection/Cask b/.config/emacs/lisp/evil-collection/Cask
deleted file mode 100644
index c9db627..0000000
--- a/.config/emacs/lisp/evil-collection/Cask
+++ /dev/null
@@ -1,12 +0,0 @@
-(source gnu)
-(source melpa)
-
-(package-file "evil-collection.el")
-
-(development
- (depends-on "evil")
- (depends-on "f")
- (depends-on "ert-runner")
- (depends-on "package-lint")
- (depends-on "annalist")
- (depends-on "magit"))
diff --git a/.config/emacs/lisp/evil-collection/Eask b/.config/emacs/lisp/evil-collection/Eask
deleted file mode 100644
index 8f4de82..0000000
--- a/.config/emacs/lisp/evil-collection/Eask
+++ /dev/null
@@ -1,47 +0,0 @@
-;; -*- mode: eask; lexical-binding: t -*-
-
-(package "evil-collection"
- "0.0.2"
- "A set of keybindings for Evil mode")
-
-(website-url "https://github.com/emacs-evil/evil-collection")
-(keywords "evil" "tools")
-
-(package-file "evil-collection.el")
-(files "modes/*/*.el" '(:exclude "modes/magit/*.el" "modes/magit-repos/*.el"))
-
-(script "test" "echo \"Error: no test specified\" && exit 1")
-
-(source 'gnu)
-(source 'melpa)
-
-(depends-on "emacs" "27.2")
-(depends-on "evil")
-
-(development
- (depends-on "f")
- (depends-on "ert-runner")
- (depends-on "package-lint")
- (depends-on "annalist")
- (depends-on "magit"))
-
-(setq network-security-level 'low) ; see https://github.com/jcs090218/setup-emacs-windows/issues/156#issuecomment-932956432
-
-;; Workaround for https://github.com/magit/magit/issues/5489
-(setq magit-credential-cache-daemon-socket nil)
-
-(add-hook 'eask-before-compile-hook
- (lambda (&rest _)
- (setq evil-want-integration nil)
- (setq evil-want-keybinding nil)
- (setq byte-compile-docstring-max-column 200)
- (setq byte-compile-error-on-warn t)))
-
-(add-hook 'eask-before-lint/package-hook
- (lambda (&rest _)
- (advice-add 'package-lint--error-at-bol :around 'ignore) ; ignore headers
- (advice-add 'package-lint--check-eval-after-load :around 'ignore)
- (advice-add 'package-lint--check-version-regexp-list :around 'ignore)
- (advice-add 'package-lint--check-symbol-separators :around 'ignore)
- (advice-add 'package-lint--check-defs-prefix :around 'ignore)
- (advice-add 'package-lint--check-provide-form :around 'ignore)))
diff --git a/.config/emacs/lisp/evil-collection/LICENSE b/.config/emacs/lisp/evil-collection/LICENSE
deleted file mode 100644
index f288702..0000000
--- a/.config/emacs/lisp/evil-collection/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<https://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/.config/emacs/lisp/evil-collection/Makefile b/.config/emacs/lisp/evil-collection/Makefile
deleted file mode 100755
index 46a80d6..0000000
--- a/.config/emacs/lisp/evil-collection/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-EASK ?= eask
-
-compile:
- $(EASK) compile
-
-install:
- $(EASK) install-deps --dev
-
-lint:
- $(EASK) lint package
-
-test: install
- $(EASK) test ert ./test/evil-collection-test.el
-
-magit-test: install
- $(EASK) test ert ./test/evil-collection-magit-tests.el
-
-.PHONY: compile lint test
-
-# Local Variables:
-# tab-width: 8
-# End:
diff --git a/.config/emacs/lisp/evil-collection/README.org b/.config/emacs/lisp/evil-collection/README.org
deleted file mode 100644
index a2b5aca..0000000
--- a/.config/emacs/lisp/evil-collection/README.org
+++ /dev/null
@@ -1,821 +0,0 @@
-#+TITLE: Evil Collection
-#+STARTUP: noindent
-
-[[https://github.com/emacs-evil/evil-collection/actions][file:https://github.com/emacs-evil/evil-collection/actions/workflows/build.yaml/badge.svg?branch=master]]
-[[https://melpa.org/#/evil-collection][file:https://melpa.org/packages/evil-collection-badge.svg]]
-[[https://stable.melpa.org/#/evil-collection][file:https://stable.melpa.org/packages/evil-collection-badge.svg]]
-
-This is a collection of [[https://github.com/emacs-evil/evil][Evil]] bindings for /the parts of Emacs/ that Evil does
-not cover properly by default, such as ~help-mode~, ~M-x calendar~, Eshell and
-more.
-
-*Warning:* Expect some default bindings to change in the future.
-
-** Preliminaries
-
-1. ~evil-overriding-maps~ is assumed as ~nil~ to reduce redundant ~w/W/l/f/t~
- etc evil bindings. See [[https://github.com/emacs-evil/evil-collection/pull/501][Fixup Info-mode]] for example.
-
-** Goals
-
-1. Reduce context switching: As soon as "moving around" gets hardwired
- to ~<hjkl>~, it becomes frustratingly inefficient not to have it everywhere.
-
-2. Community work: setting up bindings is tremendous work and joining force can
- only save hours for all of Evil users out there. While not everyone may agree
- on the chosen bindings, it helps to have something to start with rather than
- nothing at all. In the end, users are free to override a subset of the proposed
- bindings to best fit their needs.
-
-3. Consistency: Having all bindings defined in one place allows for enforcing
- consistency across special modes and coordinating the community work to define a
- reference implementation.
-
-** Installation
-
-- Get the package, either from MELPA:
-
- : M-x package-install RET evil-collection RET
-
- Or clone / download this repository and modify your ~load-path~:
-
- : (add-to-list 'load-path (expand-file-name "/path/to/evil-collection/" user-emacs-directory))
-
-- Register the bindings, either all at once with
-
- : (evil-collection-init)
-
- or mode-by-mode, for instance:
-
- : (with-eval-after-load 'calendar (evil-collection-calendar-setup))
-
- or by providing an argument to ~evil-collection-init~:
-
- : (evil-collection-init 'calendar)
-
- a list can also be provided to ~evil-collection-init~:
-
- : (evil-collection-init '(calendar dired calc ediff))
-
- The list of supported modes is configured by ~evil-collection-mode-list~.
-
-~evil-collection~ assumes ~evil-want-keybinding~ is set to ~nil~ and
-~evil-want-integration~ is set to ~t~ before loading ~evil~ and
-~evil-collection~. Note some other packages may load evil (e.g. evil-leader) so
-bear that in mind when determining when to set the variables.
-
-See https://github.com/emacs-evil/evil-collection/issues/60 and https://github.com/emacs-evil/evil/pull/1087
-for more details.
-
-For example:
-
-#+begin_src emacs-lisp :tangle yes
-(setq evil-want-integration t) ;; This is optional since it's already set to t by default.
-(setq evil-want-keybinding nil)
-(require 'evil)
-(when (require 'evil-collection nil t)
- (evil-collection-init))
-#+end_src
-
-Here's another full TLDR ~use-package~ example.
-
-#+begin_src emacs-lisp :tangle yes
-(use-package evil
- :ensure t
- :init
- (setq evil-want-integration t) ;; This is optional since it's already set to t by default.
- (setq evil-want-keybinding nil)
- :config
- (evil-mode 1))
-
-(use-package evil-collection
- :after evil
- :ensure t
- :config
- (evil-collection-init))
-#+end_src
-
-NOTE: If you don't like surprises but still want to use ~evil-collection-init~, setting ~evil-collection-mode-list~ to nil
-and adding each mode manually might be a better option.
-
-** Configuration
-Modify ~evil-collection-mode-list~ to disable or add any modes that should be
-evilified by ~evil-collection~.
-
-| Variable | Default | Description |
-|--------------------------------------------+---------+-------------------------------------------------------------------|
-| evil-collection-calendar-want-org-bindings | nil | Set up Org functions in calendar keymap. |
-| evil-collection-outline-bind-tab-p | nil | Enable <tab>-based bindings in Outline mode. |
-| evil-collection-term-sync-state-and-mode-p | t | Synchronize insert/normal state with char/line-mode in term-mode. |
-| evil-collection-setup-minibuffer | nil | Set up Vim style bindings in the minibuffer. |
-| evil-collection-setup-debugger-keys | t | Set up debugger keys for certain modes. |
-| evil-collection-want-unimpaired-p | t | Set up unimpaired bindings globally. |
-| evil-collection-want-find-usages-bindings | t | Bind -find references-, etc to various modes. |
-| evil-collection-config | * | List of mode specific configurations. |
-| evil-collection-key-whitelist | nil | List of keys Evil Collection is allowed to bind to. |
-| evil-collection-key-blacklist | nil | List of keys Evil Collection is not allowed to bind to. |
-| evil-collection-state-passlist | nil | List of Evil States Evil Collection is allowed to bind to. |
-| evil-collection-state-denylist | nil | List of Evil States Evil Collection is not allowed to bind to. |
-
-For example, if you want to enable Evil in the minibuffer, you'll have to turn
-it on explicitly by customizing ~evil-collection-setup-minibuffer~ to ~t~. Some
-minibuffer-related packages such as Helm rely on this option.
-
-~use-package~ example:
-
-#+begin_src emacs-lisp :tangle yes
-(use-package evil-collection
- :custom (evil-collection-setup-minibuffer t)
- :init (evil-collection-init))
-#+end_src
-
-~evil-collection-config~ can also be modified to configure specific modes.
-At the moment, it can be used to defer binding keys to those specific modes
-in order to improve startup time.
-
-** Guidelines
-
-The following rules serve as guiding principles to define the set of standard
-Evil bindings for various modes. Since special modes are by definition
-structurally incomparable, those rules cannot be expected to be applied
-universally.
-
-The rules are more-or-less sorted by priority.
-
-1. Don't bind anything to ~:~ nor ~<escape>~.
-
-2. Keep the movement keys when possible and sensible.
-
- - ~h~, ~j~, ~k~, ~l~
- - ~w~, ~W~, ~b~, ~B~, ~e~, ~E~, ~ge~, ~gE~
- - ~f~, ~F~, ~t~, ~T~, ~;~, =,=
- - ~gg~, ~G~
- - ~|~
- - ~(~, ~)~
- - ~{~, ~}~
- - ~%~
- - ~+~, ~-~, ~0~, ~^~, ~$~
- - ~C-i~, ~C-o~
-
-3. Keep the yanking and register keys when possible and sensible.
-
- - ~y~, ~Y~
- - ="=
-
-4. Keep the search keys when possible and sensible.
-
- - ~/~, ~?~
- - ~#~, ~*~
-
-5. Keep the mark keys when possible and sensible.
-
- - ~m~
- - ='=, =~=
-
-6. Keep the windowing keys when possible and sensible.
-
- - ~H~, ~L~, ~M~
- - ~C-e~, ~C-y~
- - ~C-f~, ~C-b~
- - ~C-d~, ~C-u~
- - ~C-w~-prefixed bindings.
- - Some ~z~-prefixed bindings (see below).
-
-7. The following keys are free when insert state does not make sense in the
- current mode:
-
- - ~a~, ~A~, ~i~, ~I~
- - ~c~, ~C~, ~r~, ~R~, ~s~, ~S~
- - ~d~, ~D~, ~x~, ~X~
- - ~o~, ~O~
- - ~p~, ~P~
- - ~=~, ~<~, ~>~
- - ~J~
- - =~=
-
- Any of those keys can be set to be a prefix key.
-
-8. Prefix keys: ~g~ and ~z~ are the ubiquitous prefix keys.
-
- - ~g~ generally stands for "go" and is best used for movements.
- - ~z~ is used for scrolling, folding, spell-checking and more.
-
-9. Macro and action keys
-
- - ~@~, ~q~
- - ~.~
-
-10. Ensure terminal compatibility without sacrificing GUI key bindings.
- - Tab key
- - Tab key is recognized as ~<tab>~ in GUI and ~TAB~ in terminal.
- ~TAB~ equals ~C-i~.
- - ~C-i~ is bound to jumping forward for vim compatibility.
- If Shift+Tab is not relevant, just bind ~g TAB~ to the function
- that Tab is bound to. If Shift+Tab is relevant, bind ~g]~ and
- ~g TAB~ to the function that Tab is bound to, and bind ~g[~ to
- the function that Shift+Tab is bound to for terminal compatibility.
- - Enter key
- - Enter key is recognized as ~<return>~ in GUI and ~RET~ in terminal.
- ~RET~ equals ~Ctrl+m~.
- - Bind only ~RET~ and ~M-RET~. Or, bind ~RET~ and ~M-RET~ to the same
- functions ~<return>~ and ~<M-return>~ are bound to.
- - ~S-RET~ is impossible on terminal. Bind ~<S-return>~ and a vacant key
- to the same function for terminal compatibility.
-
-** Rationale
-
-Many special modes share the same set of similar actions. Those actions should
-share the same bindings across all modes whenever feasible.
-
-*** Motion (~[~, ~]~, ~{~, ~}~, ~(~, ~)~, ~gj~, ~gk~, ~C-j~, ~C-k~)
-
-- ~[~ and ~]~: Use ~[-~ and ~]-~ prefixed keys for navigation between sections.
-
- If the mode makes no difference between the end of a section and the beginning
- of the next, use ~[~ and ~]~.
-
-- ~gj~ and ~gk~: synonym for ~[~ and ~]~. That's what [[evilmagit][evil-magit]] does.
-
- *Question:* Should ~gj~ / ~gk~ rather be synonyms for ~C-j~ / ~C-k~? They cannot
- emulate the behaviour of ~[]~ or ~][~.
-
- - ~C-j~, ~C-k~: If there is granularity, i.e. subsections, use ~C-j~ and ~C-k~
- to browse them. This reflects [[evilmagit][evil-magit]] and [[evilmu4e][evil-mu4e]] default
- bindings.
-
- - ~{~, ~}~: If there is no paragraph structure, ~{~ and ~}~ can be used for sub-sectioning.
-
- - ~(~, ~)~: If there is no sentence structure, ~(~ and ~)~ can be used for sub-sectioning.
-
- - ~HJKL~: ~hjkl~ can be used for atomic movements, but ~HJKL~ can usually not be used
- because ~H~, ~K~ and ~L~ are all universal (~J~ is ~evil-join~ and usually
- does not make sense in special modes).
-
- - ~C-h~ should not be remapped: Since we have ~C-j~ and ~C-k~ for vertical motion, it would
- make sense to use ~C-h~ and ~C-l~ for horizontal motion. There are some
- shortcomings though:
-
- - In Vim, ~C-h~ works as backspace, but Evil does not follow that behaviour.
-
- - In Emacs, it is a prefix key for all help-related commands, and so is ~<f1>~.
-
- - Most importantly, ~C-h~ is too widespread and ubiquitous to be replaced.
- So we don't.
-
- - ~C-l~: As a consequence of the former point, ~C-l~ is available.
-
- - ~M-<hjkl>~: Those keys are usually free in Evil but still bound to their Emacs
- default (e.g. ~M-l~ is ~downcase-word~). Besides, if ~C-j~ and ~C-k~ are
- already used, having ~M-j~ and ~M-k~ might add up to the confusion.
-
-*** Quitting (~q~, ~ZQ~, ~ZZ~)
-
-In Vim, ~q~ is for recording macros. Vim quits with ~ZZ~ or ~ZQ~. In most
-Emacs special modes, it stands for quitting while macros are recorded/played
-with ~<f3>~ and ~<f4>~.
-
-A good rule of thumb would be:
-
-- Always bind ~q~, ~ZZ~ and ~ZQ~ to the mode specific quitting functions. If there is none,
-- Bind ~q~ and ~ZZ~ to ~quit-window~
-- Bind ~ZQ~ to ~evil-quit~
-- If macros don't make sense in current mode, then ~@~ is available.
-
-*** Refreshing / Reverting (~gr~)
-
-- ~gr~ is used for refreshing in [[evilmagit][evil-magit]], [[evilmu4e][evil-mu4e]], and some Spacemacs
- configurations (org-agenda and neotree among others).
-
-- ~C-l~ is traditionally used to refresh the terminal screen. Since there does
- not seem to be any existing use of it, we leave the binding free for other
- uses.
-
-*** Marking
-
-~m~ defaults to ~evil-set-marker~ which might not be very useful in special
-modes.
-='= can still be used as it can jump to other buffers.
-
-- ~m~: Mark or toggle mark, depending on what the mode offers. In visual mode,
- always mark. With a numeric argument, toggle mark on that many following
- lines.
-
-- ~u~: Unmark current selection.
-
-- ~U~: Unmark all.
-
-- =~=: Toggle all marks. This mirrors the "invert-char" Vim command bound to =~=
- by default.
-
-- ~M~: Mark all, if available. Otherwise use =U~=.
-
-- ~*~: Mark-prefix or mark all if current mode has no prefix. ~*~ is traditionally a wildcard.
-
-- ~%~: Mark regexp.
-
-- ~x~: Execute action on marks. This mirrors Dired's binding of ~x~.
-
-If ~*~ is used for marking, then ~#~ is free.
-
-Also note that Emacs inconsistently uses ~u~ and ~U~ to unmark.
-
-*** Selecting / Filtering / Narrowing / Searching
-
-- ~s~ and ~S~ seem to be used in some places like [[mu4e][mu4e]].
-
- - ~s~: [s]elect/[s]earch/filter candidates according to a pattern.
- - ~S~: Remove filter and select all.
-
-- ~=~ is usually free and its significance is obvious. It's taken for zooming though.
-
-- ~|~ is not free but the pipe symbolic is very tantalizing.
-
-*** Sorting
-
-- ~o~: Change the sort [o]rder.
-- ~O~: Sort in reverse order.
-
- There is no real consensus around which key to bind to sorting. What others
- do by default:
-
- - ~package-menu~ uses ~S~.
-
- - ~M-x proced~ and Dired use ~s~.
-
- - ~profiler~ uses ~A~ and ~D~.
-
- - [[mu4e][mu4e]] uses ~O~.
-
- - [[http://www.nongnu.org/ranger/][ranger]] uses ~o~, inspired from [[http://mutt.org][Mutt]].
-
-*** Go to definition (~gd~, ~gD~)
-
-- ~gd~: [g]o to [d]efinition. This is mostly for programming modes.
- If there's a corresponding 'pop' action, use ~C-t~.
-
-*** Go to references, etc (~gr~, ~gA~)
-When ~evil-collection-want-find-usages-bindings~ is set to t:
-
-- ~gr~: [g] to [r]eferences. This binding is also used for refresh/reverting
- modes in non programming modes but is usually empty for programming modes.
-
-- ~gA~: [g]o to [A]ssignments.
-
-- Additional bindings:
- There may be additional binds under this category. Please file a Pull Request if so.
-
-*** Go to current entity
-
-- ~.~: go to current entity (day for calendar, playing track for [[EMMS][EMMS]]).
- Bind only if more relevant than ~evil-repeat~.
-
-*** Open thing at point (~RET~, ~S-RET~, ~M-RET~, ~go~, ~gO~)
-
-- ~RET~, ~S-RET~, ~M-RET~: Open thing at point in current window, open in other
- window and display in other window respectively. The latter is like the
- former with the focus remaining on the current window.
-
-- ~go~, ~gO~: When available, same as ~S-RET~ and ~M-RET~ respectively. This is
- useful in terminals where ~S-RET~ and ~M-RET~ might not work.
-
-*** Emacs-style jumping (~J~)
-
-- ~J~: [[mu4e][mu4e]] has ~j~ and [[evil-mu4e][evil-mu4e]] uses ~J~, so we use ~J~ too.
-
- Some special modes like [[mu4e][mu4e]] and ibuffer offer to "jump" to a
- different buffer. This sometimes depends on the thing at point.
-
- This is not related to Evil jumps like ~C-i~ and ~C-o~, nor to "go to
- definition".
-
-*** Browse URL (~gx~)
-
-~gx~: go to URL. This is a default Vim binding.
-
-*** Help (~?~)
-
-- ~g?~ : is the standard key for help related commands.
-- ~?~ in places where backward search is not very useful.
-
-*** History browsing (~C-n~, ~C-p~)
-
-~C-n~ and ~C-p~ are standard bindings to browse the history elements.
-
-*** Bookmarking
-
-?
-
-*** REPL (~gz~)
-
-If the mode has a Go To REPL-type command, set it to ~gz~.
-
-*** Zooming (~+~, ~-~, ~=~, ~0~)
-
-- ~+~ and ~-~ have obvious meanings.
-- ~0~ has a somewhat intuitive meaning, plus it is next to ~+~ and ~-~ on QWERTY.
-- ~=~ is useful as a synonym for ~+~ because it is the unshifted key of ~+~ on QWERTY.
-
-*** Debugging
-
-When debugging is on, debugger keys takes the most precedence.
-
-These keys will be set when there's an available command for them.
-
-- ~n~ : Step Over
-- ~i~ : Step Into
-- ~o~ : Step Out
-- ~c~ : Continue/Resume Execution
-- ~L~ : Locals
-- ~t~ : Tracing
-- ~q~ : Quit Debugging
-- ~H~ : Continue until Point
-- ~e~ : Evaluate Expression
-- ~b~ : Set Breakpoint
-- ~u~ : Unset Breakpoint
-- ~>~ : Navigate to Next Frame
-- ~<~ : Navigate to Previous Frame
-- ~g?~ : Help
-- ~J~ : Jump to debugger location
-- ~R~ : Restart
-
-For debugging outside of debugger being on (e.g. setting initial breakpoints),
-we use similar keys to [[https://github.com/realgud/realgud][realgud]].
-
-- ~f5~ Start/Continue/Resume Execution
-- ~S-f5~ Continue Execution
-- ~Mouse-1~ Toggle Breakpoint
-- ~f9~ Toggle Breakpoint
-- ~f10~ Step Over
-- ~f11~ Step Into
-- ~S-f11~ Step Out
-
-*** Editable Buffers
-
-For buffers where insert-state doesn't make sense but buffer can be edited,
-(e.g. wdired or wgrep), pressing ~i~ will change into editable state.
-
-When this editable state is turned on,
-
-~ZQ~ will abort and clear any changes.
-~ZZ~ will finish and save any changes.
-~ESC~ will exit editable state.
-
-*** :q/:wq/etc
-
-Modes with commands that can be bound to :q/:wq/etc will have those keys remapped.
-
-** Key Translation
-
-~evil-collection-translate-key~ allows binding a key to the definition of
-another key in the same keymap (comparable to how Vim's keybindings work). Its
-arguments are the ~states~ and ~keymaps~ to bind/look up the key(s) in followed
-optionally by keyword arguments (currently only ~:destructive~) and
-key/replacement pairs. ~states~ should be nil for non-evil keymaps, and both
-~states~ and ~keymaps~ can be a single symbol or a list of symbols.
-
-This function can be useful for making key swaps/cycles en masse. For example,
-someone who uses an alternate keyboard layout may want to retain the ~hjkl~
-positions for directional movement in dired, the calendar, etc.
-
-Here's an example for Colemak of making swaps in a single keymap:
-
-#+begin_src emacs-lisp
-(evil-collection-translate-key nil 'evil-motion-state-map
- ;; colemak hnei is qwerty hjkl
- "n" "j"
- "e" "k"
- "i" "l"
- ;; add back nei
- "j" "e"
- "k" "n"
- "l" "i")
-#+end_src
-
-Here's an example of using ~evil-collection-setup-hook~ to cycle the keys for
-all modes in ~evil-collection-mode-list~:
-
-#+begin_src emacs-lisp
-(defun my-hjkl-rotation (_mode mode-keymaps &rest _rest)
- (evil-collection-translate-key 'normal mode-keymaps
- "n" "j"
- "e" "k"
- "i" "l"
- "j" "e"
- "k" "n"
- "l" "i"))
-
-;; called after evil-collection makes its keybindings
-(add-hook 'evil-collection-setup-hook #'my-hjkl-rotation)
-
-(evil-collection-init)
-#+end_src
-
-A more common use case of ~evil-collection-translate-key~ would be for keeping
-the functionality of some keys that users may bind globally. For example, ~SPC~,
-~[~, and ~]~ are bound in some modes. If you use these keys as global prefix
-keys that you never want to be overridden, you'll want to give them higher
-priority than other evil keybindings (e.g. those made by ~(evil-define-key
-'normal some-map ...)~). To do this, you can create an "intercept" map and bind
-your prefix keys in it instead of in ~evil-normal-state-map~:
-
-#+begin_src emacs-lisp
-(defvar my-intercept-mode-map (make-sparse-keymap)
- "High precedence keymap.")
-
-(define-minor-mode my-intercept-mode
- "Global minor mode for higher precedence evil keybindings."
- :global t)
-
-(my-intercept-mode)
-
-(dolist (state '(normal visual insert))
- (evil-make-intercept-map
- ;; NOTE: This requires an evil version from 2018-03-20 or later
- (evil-get-auxiliary-keymap my-intercept-mode-map state t t)
- state))
-
-(evil-define-key 'normal my-intercept-mode-map
- (kbd "SPC f") 'find-file)
-;; ...
-#+end_src
-
-You can then define replacement keys:
-
-#+begin_src emacs-lisp
-(defun my-prefix-translations (_mode mode-keymaps &rest _rest)
- (evil-collection-translate-key 'normal mode-keymaps
- "C-SPC" "SPC"
- ;; these need to be unbound first; this needs to be in same statement
- "[" nil
- "]" nil
- "[[" "["
- "]]" "]"))
-
-(add-hook 'evil-collection-setup-hook #'my-prefix-translations)
-
-(evil-collection-init)
-#+end_src
-
-By default, the first invocation of ~evil-collection-translate-key~ will make a
-backup of the keymap. Each subsequent invocation will look up keys in the backup
-instead of the original. This means that a call to
-~evil-collection-translate-key~ will always have the same behavior even if
-evaluated multiple times. When ~:destructive t~ is specified, keys are looked up
-in the keymap as it is currently. This means that a call to
-~evil-collection-translate-key~ that swapped two keys would continue to
-swap/unswap them with each call. Therefore when ~:destructive t~ is used, all
-cycles/swaps must be done within a single call to
-~evil-collection-translate-key~. To make a comparison to Vim keybindings,
-~:destructive t~ is comparable to Vim's ~map~, and ~:destructive nil~ is
-comparable to Vim's ~noremap~ (where the "original" keybindings are those that
-existed in the keymap when ~evil-collection-translate-key~ was first called).
-You'll almost always want to use the default behavior (especially in your init
-file). The limitation of ~:destructive nil~ is that you can't translate a key to
-another key that was defined after the first ~evil-collection-translate-key~, so
-~:destructive t~ may be useful for interactive experimentation.
-
-~evil-collection-swap-key~ is also provided as a wrapper around
-~evil-collection-translate-key~ that allows swapping keys:
-
-#+begin_src emacs-lisp
-(evil-collection-swap-key nil 'evil-motion-state-map
- ";" ":")
-;; is equivalent to
-(evil-collection-translate-key nil 'evil-motion-state-map
- ";" ":"
- ":" ";")
-#+end_src
-
-In some cases, keys are bound through `evil-define-minor-mode-key` and may
-need to be translated using ~evil-collection-translate-minor-mode-key~ and/or
-~evil-collection-swap-minor-mode-key~.
-
-#+begin_src emacs-lisp
-(evil-collection-swap-minor-mode-key '(normal motion)
- '(evil-snipe-local-mode evil-snipe-override-local-mode)
- "k" "s"
- ;; Set this to t to make this swap the keys everytime
- ;; this expression is evaluated.
- :destructive nil)
-
-(evil-collection-translate-minor-mode-key
- '(normal motion)
- '(evil-snipe-local-mode evil-snipe-override-local-mode)
- "k" "s"
- "s" "k"
- ;; Set this to t to make this swap the keys everytime
- ;; this expression is evaluated.
- :destructive nil)
-#+end_src
-
-** Third-party packages
-
-Third-party packages are provided by several parties:
-
-| Major mode | Evil bindings |
-|------------+--------------------------|
-| ledger | [[https://github.com/atheriel/evil-ledger][evil-ledger]] |
-| lispy | [[https://github.com/noctuid/lispyville][lispyville]] or [[https://github.com/sp3ctum/evil-lispy][evil-lispy]] |
-| org | [[https://github.com/GuiltyDolphin/org-evil][org-evil]] or [[https://github.com/Somelauw/evil-org-mode][evil-org]] |
-| markdown | [[https://github.com/Somelauw/evil-markdown][evil-markdown]] |
-
-Also ~evil-collection~ has minimal support (~TAB~, ~S-TAB~ and
-sentence/paragraph forwarding) for ~markdown~ and ~org~ if you prefer less
-packages installed.
-
-Should you know any suitable package not mentioned in this list, let us know and
-file an issue.
-
-Other references:
-
-- [[https://github.com/syl20bnr/spacemacs/blob/master/doc/CONVENTIONS.org#key-bindings-conventions][Spacemacs]]
-- [[https://github.com/doomemacs/doomemacs/tree/master/modules/editor/evil][Doom Emacs]]
-
-** FAQ
-
-*** Making SPC work similarly to [[https://github.com/syl20bnr/spacemacs][spacemacs]].
-
-~evil-collection~ binds over SPC in many packages. To use SPC as a leader key
-with the [[https://github.com/noctuid/general.el][general]] library:
-
-#+begin_src emacs-lisp :tangle yes
-(use-package general
- :ensure t
- :init
- (setq general-override-states '(insert
- emacs
- hybrid
- normal
- visual
- motion
- operator
- replace))
- :config
- (general-define-key
- :states '(normal visual motion)
- :keymaps 'override
- "SPC" 'hydra-space/body))
-;; Replace 'hydra-space/body with your leader function.
-#+end_src
-
-See [[https://github.com/noctuid/evil-guide][noctuid's evil guide]] for other approaches.
-
-- Unintialized mode maps in ~evil-collection-setup-hook~.
- ~evil-collection-setup-hook~ is ran with a list of keymaps passed into it.
- Some misconfigured modes may not have yet initialized their keymap at this
- time so the value of the variable may be nil. In that case, an alternative is
- to use a mode-hook to do any custom settings.
-
-#+begin_src emacs-lisp :tangle yes
-(add-hook 'evil-collection-setup-hook
- (lambda (_mode keymaps)
- (add-hook 'ediff-mode-hook
- (lambda ()
- (... keymaps ...)))))
-#+end_src
-
-View [[https://github.com/emacs-evil/evil-collection/issues/196][196]] for more info.
-*** Don't allow Evil-Collection to bind some keys.
-Look into ~evil-collection-key-whitelist~ and ~evil-collection-key-blacklist~.
-
-For example:
-
-#+begin_src emacs-lisp :tangle yes
-;; Don't allow Evil Collection to bind to gfu and gfp.
-(setq evil-collection-key-blacklist '("gfu" "gfp"))
-#+end_src
-*** Modes left behind
-
-Some modes might still remain unsupported by this package. Should you be missing
-your ~<hjkl>~, please feel free to do a pull request.
-
-*** Writing a new binding
-
-This [[template][yasnippet template]] can be used to bootstrap a new binding.
-
-For example, if we were to want to add ~evil-collection~ support to ~eldoc~.
-(e.g.) There is a package that contains:
-
-#+begin_src emacs-lisp :tangle yes
-(provide 'eldoc)
-#+end_src
-
-Create a directory named eldoc under [[modes-directory][modes/]]. Create a file
-named evil-collection-eldoc.el under the newly created eldoc directory. Then use
-the above template as an example or, using [[yasnippet][yasnippet]],
-~yas-expand~ the above template which will result in something like below:
-
-#+begin_src emacs-lisp :tangle yes
-;;; evil-collection-eldoc.el --- Bindings for `eldoc' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for eldoc.
-
-;;; Code:
-(require 'evil-collection)
-(require 'eldoc nil t)
-
-(defvar eldoc-mode-map)
-(defconst evil-collection-eldoc-maps '(eldoc-mode-map))
-
-(defun evil-collection-eldoc-setup ()
- "Set up `evil' bindings for eldoc."
- (evil-collection-define-key 'normal 'eldoc-mode-map
- ))
-
-(provide 'evil-collection-eldoc)
-;;; evil-collection-eldoc.el ends here
-#+end_src
-
-Finally, add ~eldoc~ to ~evil-collection--supported-modes~.
-
-#+begin_src emacs-lisp :tangle yes
-(defvar evil-collection--supported-modes
- `(
- ;; ...
- eldoc
- ;; ...
- )
- "List of modes supported by evil-collection. Elements are
-either target mode symbols or lists which `car' is the mode
-symbol and `cdr' the packages to register.")
-#+end_src
-** Submitting Issues
-
-When reproducing issues, you can use this emacs -Q recipe.
-
-#+begin_src emacs-lisp :tangle yes
-(setq user-emacs-directory "~/.emacs.1.d")
-(setq package-user-dir
- (format "%s/elpa/%s/" user-emacs-directory emacs-major-version))
-
-(setq package-enable-at-startup nil
- package-archives
- '(("melpa" . "https://melpa.org/packages/")
- ("gnu" . "http://elpa.gnu.org/packages/")))
-
-(require 'package)
-(package-initialize)
-(unless (package-installed-p 'use-package)
- (package-refresh-contents)
- (package-install 'use-package))
-(require 'use-package)
-(setq use-package-always-ensure t)
-
-(use-package evil
- :ensure t
- :init
- (setq evil-want-keybinding nil)
- :config
- (evil-mode 1))
-
-(use-package evil-collection
- :after evil
- :ensure t
- :config
- (evil-collection-init))
-#+end_src
-
-** Contributing
-We welcome any additional modes that are not already supported.
-
-All bindings in ~evil-collection~ are open to change so if there's a better or
-more consistent binding, please
-[[https://github.com/emacs-evil/evil-collection/issues][open an issue]] or
-[[https://github.com/emacs-evil/evil-collection/pulls][submit a pull request]].
-
-Follow [[https://github.com/bbatsov/emacs-lisp-style-guide/][The Emacs Lisp
-Style Guide]] for coding conventions.
-
-[[https://github.com/erlang/otp/wiki/writing-good-commit-messages][Erlang/OTP]]
-has a good read for helpful commit messages.
-
-#+LINK: EMMS https://www.gnu.org/software/emms/
-#+LINK: evilmagit https://github.com/emacs-evil/evil-magit
-#+LINK: evilmu4e https://github.com/JorisE/evil-mu4e
-#+LINK: mu4e https://www.djcbsoftware.nl/code/mu/mu4e.html
-#+LINK: yasnippet https://github.com/joaotavora/yasnippet
-#+LINK: template https://github.com/emacs-evil/evil-collection/blob/master/yasnippet_evil-collection
-#+LINK: modes-directory https://github.com/emacs-evil/evil-collection/tree/master/modes
diff --git a/.config/emacs/lisp/evil-collection/evil-collection.el b/.config/emacs/lisp/evil-collection/evil-collection.el
deleted file mode 100644
index a7e149a..0000000
--- a/.config/emacs/lisp/evil-collection/evil-collection.el
+++ /dev/null
@@ -1,1129 +0,0 @@
-;;; evil-collection.el --- A set of keybindings for Evil mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2023 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "26.3") (evil "1.2.13"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; A set of keybindings for Evil mode.
-;;
-;; If you want to use Evil in the minibuffer, you'll have to enable it by
-;; setting `evil-collection-setup-minibuffer' to t before loading this package.
-;; This is so because many users find it confusing.
-;; Some minibuffer-related packages such as Helm rely on this option.
-
-;;; Code:
-
-;; `evil' requires `seq-into'?
-;; This require on `seq' before loading `evil 'prevents `evil' from erroring
-;; out with the below message on Emacs 29.
-;; Symbol's function definition is void: seq-into
-;; Looks like this error can be traced through evil ->
-;; Look at the commit that moved this line above `evil' to see the error message.
-;; evil -> evil-vars -> read-kbd-macro -> seq-into -> error.
-;; https://github.com/emacs-evil/evil/issues/1627
-(require 'seq)
-(require 'cl-lib)
-(require 'evil)
-;; `annalist' is optional; only used to record and describe bindings via
-;; `evil-collection-describe-bindings'. Install it to enable that feature.
-(require 'annalist nil t)
-
-(declare-function annalist-record "annalist")
-(declare-function annalist-describe "annalist")
-(declare-function annalist-define-view "annalist")
-(declare-function annalist-string-< "annalist")
-
-(defvar evil-collection-base-dir (file-name-directory load-file-name)
- "Store the directory evil-collection.el was loaded from.")
-
-(defvar evil-want-integration)
-(defvar evil-want-keybinding)
-
-(defvar evil-collection--startup-warning-flag nil)
-
-(defun evil-collection-maybe-display-startup-warning ()
- "Warn if `evil-want-keybinding' was not set before loading Evil.
-Runs at most once."
- (unless evil-collection--startup-warning-flag
- (setq evil-collection--startup-warning-flag t)
- (when (featurep 'evil-keybindings)
- (if evil-want-keybinding
- (display-warning
- '(evil-collection)
- "Make sure to set `evil-want-keybinding' to nil before loading evil \
-or evil-collection.\
-\n
-See https://github.com/emacs-evil/evil-collection/issues/60 for more details.")
- (display-warning
- '(evil-collection)
- "`evil-want-keybinding' was set to nil but not before loading evil.\
-\n
-Make sure to set `evil-want-keybinding' to nil before loading evil \
-or evil-collection.\
-\n
-See https://github.com/emacs-evil/evil-collection/issues/60 for more details.")))))
-
-(unless (featurep 'evil-integration)
- (message "Requiring evil-integration. Set evil-want-integration to t to\
- remove this message.\
-\n
-See https://github.com/emacs-evil/evil-collection/issues/60 for more details.")
- (require 'evil-integration))
-
-(defgroup evil-collection nil
- "A set of keybindings for Evil mode."
- :group 'evil)
-
-(defcustom evil-collection-setup-minibuffer nil
- "Whether to setup Evil bindings in the minibuffer."
- :type 'boolean
- :group 'evil-collection)
-
-(defcustom evil-collection-calendar-want-org-bindings nil
- "Whether to bind Org functions in calendar keymap."
- :type 'boolean
- :group 'evil-collection)
-
-(defcustom evil-collection-setup-debugger-keys t
- "Whether to bind debugger keys when debugger is active.
-
-Debugger in this case is dependent on mode.
-
-This is only relevant for debug modes that are part of another mode,
-
-e.g. `indium'. Modes like `edebug' or `realgud' needs to be explicitly disabled
-
-through removing their entry from `evil-collection-mode-list'."
- :type 'boolean
- :group 'evil-collection)
-
-(defcustom evil-collection-want-unimpaired-p t
- "Whether to enable unimpaired style bindings globally."
- :type 'boolean
- :group 'evil-collection)
-
-(defcustom evil-collection-want-find-usages-bindings t
- "Whether to bind `xref-find-references'-like bindings.
-
-This will bind additional find-* type commands, e.g. usages, assignments, etc.."
- :type 'boolean
- :group 'evil-collection)
-
-(defcustom evil-collection-want-g-bindings t
- "Whether to bind g* bindings."
- :type 'boolean
- :group 'evil-collection)
-
-(defvar evil-collection--modes-with-delayed-setup
- `(emms
- eshell)
- "List of modes whose keybinds aren't completely set up after the mode is
-loaded. This can be a problem for cases where we're doing key translations
-using `evil-collection-setup-hook' which would result in an empty keymap.
-
-Normally we run `evil-collection-setup-hook' right away after the mode
-is loaded in `with-eval-after-load' (see `evil-collection-init') but for these
-modes, we skip running that hook and let the corresponding `evil-collection'
-package handle running `evil-collection-setup-hook'.
-
-Elements in this list either match a target mode symbol or the car of a list in
-`evil-collection--supported-modes'.
-
-If `evil-collection-always-run-setup-hook-after-load' is t, this list isn't
-read and `evil-collection-setup-hook' will be ran in the
-`with-eval-after-load' block in `evil-collection-init'.")
-
-(defcustom evil-collection-always-run-setup-hook-after-load nil
- "Whether to always run `evil-collection-setup-hook' after mode is loaded.
-
-See `evil-collection-init' and `evil-collection--modes-with-delayed-setup'."
- :type 'boolean
- :group 'evil-collection)
-
-(defcustom evil-collection-defer-delay 3
- "Default idle delay in seconds used when deferring mode initialization.
-
-Used as a fallback when no explicit delay is specified for a mode in
-`evil-collection-defer'."
- :type 'number
- :group 'evil-collection)
-
-(defvar evil-collection--supported-modes
- `(2048-game
- ag
- agent-shell
- alchemist
- anaconda-mode
- apropos
- arc-mode
- atomic-chrome
- auto-package-update
- beginend
- bluetooth
- bm
- bookmark
- (buff-menu "buff-menu")
- bufler
- calc
- calendar
- cider
- citre
- cmake-mode
- color-rg
- comint
- company
- compile
- consult
- corfu
- crdt
- (csv "csv-mode")
- (custom cus-edit)
- cus-theme
- dape
- dashboard
- daemons
- deadgrep
- debbugs
- debug
- devdocs
- dictionary
- diff-hl
- diff-mode
- difftastic
- dired
- dired-sidebar
- disk-usage
- distel
- doc-view
- docker
- eat
- ebib
- ebuku
- eca
- edbi
- edebug
- ediff
- eglot
- elpaca
- ement
- explain-pause-mode
- eldoc
- elfeed
- elisp-mode
- elisp-refs
- elisp-slime-nav
- embark
- emms
- ,@(when (>= emacs-major-version 29) '(emoji))
- epa
- ert
- eshell
- eval-sexp-fu
- evil-mc
- eww
- fanyi
- finder
- flycheck
- flymake
- forge
- free-keys
- fzfa
- geiser
- ggtags
- git-timemachine
- gited
- gnus
- go-mode
- gptel
- grep
- guix
- hackernews
- helm
- help
- helpful
- hg-histedit
- hideshow
- hungry-delete
- hyrolo
- ibuffer
- ielm
- (image image-mode)
- image-dired
- image+
- imenu
- imenu-list
- (indent "indent")
- indium
- info
- ivy
- js2-mode
- ,@(when (>= emacs-major-version 30) '(kmacro))
- leetcode
- lispy
- lms
- log-edit
- log-view
- lsp-ui-imenu
- lua-mode
- kotlin-mode
- macrostep
- man
- (magit magit-submodule) ;; See https://github.com/emacs-evil/evil-collection/issues/637
- magit-repos
- magit-section
- magit-todos
- markdown-mode
- message
- minesweeper
- ,@(when evil-collection-setup-minibuffer '(minibuffer))
- monky
- mpc
- mpdel
- mpdired
- mu4e
- mu4e-conversation
- neotree
- newsticker
- notmuch
- nov
- omnisharp
- org
- org-agenda
- org-present
- org-roam
- osx-dictionary
- outline
- ovpn-mode
- p4
- (package-menu package)
- pass
- (pdf pdf-view)
- popup
- proced
- (process-menu simple)
- prodigy
- profiler
- p-search
- python
- quickrun
- racer
- racket-describe
- reader
- realgud
- reftex
- replace ;; For `occur'.
- restclient
- rg
- ripgrep
- rjsx-mode
- robe
- rtags
- ruby-mode
- scheme
- scroll-lock
- selectrum
- sh-script
- shell-maker
- ,@(when (>= emacs-major-version 28) '(shortdoc))
- simple
- simple-mpc
- slime
- sly
- smerge-mode
- snake
- so-long
- speedbar
- ,@(when (>= emacs-major-version 27) '(tab-bar))
- tablist
- tabulated-list
- tar-mode
- telega
- (term term ansi-term multi-term)
- tetris
- ,@(when (>= emacs-major-version 27) '(thread))
- tide
- timer-list
- transmission
- trashed
- tuareg
- typescript-mode
- ultra-scroll
- vc-annotate
- vc-dir
- vc-git
- vdiff
- vertico
- view
- vlf
- vterm
- vundo
- w3m
- wdired
- wgrep
- which-key
- with-editor
- woman
- xref
- xwidget
- yaml-mode
- youtube-dl
- zmusic
- (ztree ztree-diff ztree-dir))
- "List of modes supported by evil-collection. Elements are
-either target mode symbols or lists which `car' is the mode
-symbol and `cdr' the packages to register.")
-
-(dolist (mode evil-collection--supported-modes)
- (let ((ec-mode-name (if (listp mode) (car mode) mode)))
- (autoload
- (intern (format "evil-collection-%s-setup" ec-mode-name))
- (expand-file-name
- (format "modes/%s/evil-collection-%s" ec-mode-name ec-mode-name)
- evil-collection-base-dir))))
-
-(defcustom evil-collection-mode-list evil-collection--supported-modes
- "The list of modes which will be evilified by `evil-collection-init'.
-Elements are either target mode symbols or lists which `car' is the
-mode symbol and `cdr' the packages to register.
-
-By default, `minibuffer' is not included because many users find
-this confusing. It will be included if
-`evil-collection-setup-minibuffer' is set to t."
- :type '(repeat (choice symbol sexp))
- :group 'evil-collection)
-
-(defcustom evil-collection-config
- '((buff-menu :defer t)
- (calc :defer t)
- (comint :defer t)
- (debug :defer t)
- (diff-mode :defer t)
- (dired :hook dired-mode)
- (edebug :defer t)
- (eldoc :defer t)
- (help :defer t)
- (image :defer t)
- (indent :defer t)
- (info :defer t)
- (replace :defer t)
- (outline :defer t)
- (package-menu :defer t)
- (process-menu :defer t)
- (simple :defer t)
- (tab-bar :defer t)
- (tabulated-list :defer t)
- (xref :defer t))
- "The list of modes with special configuration.
-
-These modes should match entries within `evil-collection-mode-list'.
-
-This variable is consumed only by `evil-collection-setup'.
-
-
-NOTE: The API of this variable may change drastically.
-
-Currently supported keys:
-
-:defer t or TIME in seconds to defer loading mode.
-
-:hook HOOK-NAME to initialize the mode when a hook fires. The hook
-name does not need the \"-hook\" suffix; it will be appended
-automatically. When :hook is present, :defer is ignored."
- :type '(repeat (choice symbol sexp))
- :group 'evil-collection)
-
-(defcustom evil-collection-key-whitelist '()
- "List of keys that may be used by Evil Collection.
-This is a list of strings that are suitable for input to
-`kbd'. If there are no keys in the list, the whitelist will be ignored."
- :type '(repeat string)
- :group 'evil-collection)
-
-(defcustom evil-collection-key-blacklist '()
- "List of keys that may not be used by Evil Collection.
-This is a list of strings that are suitable for input to `kbd'."
- :type '(repeat string)
- :group 'evil-collection)
-
-(defcustom evil-collection-state-passlist '()
- "List of evil states that may be used by Evil Collection.
-This is a list of symbols that are suitable for input to
- `evil-define-key'. Ignore when there are no states in the list."
- :type '(repeat symbol)
- :group 'evil-collection)
-
-(defcustom evil-collection-state-denylist
- (if (bound-and-true-p evil-disable-insert-state-bindings)
- '(insert)
- '())
- "List of evil states that may not be used by Evil Collection.
-This is a list of symbols that are suitable for input to
- `evil-define-key'."
- :type '(repeat symbol)
- :group 'evil-collection)
-
-(defcustom evil-collection-repl-submit-state 'normal
- "Evil state in which RET submits the prompt in REPL-like buffers.
-
-The other state gets RET bound to `newline'. S-RET always inserts a
-newline regardless of state."
- :type '(choice (const :tag "Submit in normal state" normal)
- (const :tag "Submit in insert state" insert))
- :group 'evil-collection)
-
-(defvar evil-collection-setup-hook nil
- "Hook run by `evil-collection-init' for each mode that is evilified.
-This hook runs after all setup (including keybindings) for a mode has already
-taken place. The arguments passed to functions for this hook are the name of the
-mode and a list of keymap names (i.e. symbols, not actual keymaps) customized by
-Evil Collection for that mode. More arguments may be added in the future, so
-functions added to this hook should include a \"&rest _rest\" for forward
-compatibility.")
-
-(defun evil-collection-define-operator-key (operator map-sym &rest bindings)
- "Define a key on a specific OPERATOR e.g. yank or delete.
-
-This function is useful for adding specific binds to operator maps
-\(e.g. `evil-yank' or `evil-delete') without erasing the original bind.
-
-For example, say one wants to bind \"yf\" to something but also wants to keep
-\"yy\".
-
-This function takes care of checking the whitelist/blacklist against the full
-binding.
-
-For example:
-\(evil-collection-define-operator-key \='yank
- \='pass-mode-map \"f\" \='pass-copy-field)
-
-This will check \"yf\" against a user's white/blacklist and also record the
-binding in `annalist' as so."
- (declare (indent defun))
- (let* ((prefix (if (eq operator 'yank) "y" "d"))
- (operators (if (eq operator 'yank)
- 'evil-collection-yank-operators
- 'evil-collection-delete-operators))
- (remap (if (eq operator 'yank) [remap evil-yank] [remap evil-delete]))
- (whitelist (mapcar 'kbd evil-collection-key-whitelist))
- (blacklist (mapcar 'kbd evil-collection-key-blacklist))
- filtered-bindings)
- (while bindings
- (let* ((key (pop bindings))
- (key-with-prefix (concat prefix key))
- (def (pop bindings))
- (def-with-menu-item
- `(menu-item
- ""
- nil
- :filter
- (lambda (&optional _)
- (when (or
- (eq evil-this-operator (key-binding ,remap))
- (memq evil-this-operator ,operators))
- (setq evil-inhibit-operator t)
- ',def)))))
- (when (or (and whitelist (member key-with-prefix whitelist))
- (not (member key-with-prefix blacklist)))
- (when (featurep 'annalist)
- (annalist-record 'evil-collection 'keybindings
- ;; Record the binding as if it was in 'normal mode
- ;; instead of 'operator mode as the user would be
- ;; in normal mode when triggering the operator.
- (list map-sym 'normal key-with-prefix def)
- :local (or (eq map-sym 'local)
- (local-variable-p map-sym))))
- ;; Use the original key declared when actually setting the binding.
- (push key filtered-bindings)
- ;; Use the definition attached to the menu-item when setting the
- ;; binding.
- (push def-with-menu-item filtered-bindings))))
- (setq filtered-bindings (nreverse filtered-bindings))
- (evil-collection--define-key 'operator map-sym filtered-bindings)))
-
-(defun evil-collection--filter-states (state)
- "Return a list states after filtering STATE (a single symbol or list of symbols).
-The return value adheres to `evil-collection-state-passlist' and
-`evil-collection-state-denylist'. When the STATE is nil, which
-means all states for `evil-define-key', return nil."
- (let ((states (if (listp state) state (list state))))
- (seq-difference
- (if evil-collection-state-passlist
- (seq-intersection states evil-collection-state-passlist)
- states)
- evil-collection-state-denylist)))
-
-(defun evil-collection--keys-conflict (key-a key-b)
- "Return t if KEY-A and KEY-B conflict.
-Keys conflict if they're equal or if one is a prefix of the other."
- (setq key-a (vconcat key-a)
- key-b (vconcat key-b))
- (let ((len (min (length key-a) (length key-b))))
- (equal (substring key-a 0 len) (substring key-b 0 len))))
-
-(defsubst evil-collection--can-bind-key (key whitelist blacklist)
- "Return t if KEY can be bound.
-Return nil if KEY conflicts with a key in BLACKLIST and is not
-a member of WHITELIST.
-
-Both WHITELIST and BLACKLIST must be lists of keys in Emacs'
-internal key representation (i.e., after calling `kbd' on the key
-description."
- (or (member key whitelist)
- (not (cl-member key blacklist
- :test #'evil-collection--keys-conflict))))
-
-(defun evil-collection-define-key (state map-sym &rest bindings)
- "Wrapper for `evil-define-key*' with additional features.
-Unlike `evil-define-key*' MAP-SYM should be a quoted keymap other than the
-unquoted keymap required for `evil-define-key*'. This function adds the ability
-to filter keys on the basis of `evil-collection-key-whitelist' and
-`evil-collection-key-blacklist'. It also records bindings with annalist.el."
- (declare (indent defun))
- (let* ((whitelist (mapcar 'kbd evil-collection-key-whitelist))
- (blacklist (mapcar 'kbd evil-collection-key-blacklist))
- (states-to-bind (evil-collection--filter-states state))
- filtered-bindings)
- (when (or states-to-bind (null state))
- (while bindings
- (let ((key (pop bindings))
- (def (pop bindings)))
- (when (evil-collection--can-bind-key key whitelist blacklist)
- (when (featurep 'annalist)
- (annalist-record 'evil-collection 'keybindings
- (list map-sym state key def)
- :local (or (eq map-sym 'local)
- (local-variable-p map-sym))))
- (push key filtered-bindings)
- (push def filtered-bindings))))
- (setq filtered-bindings (nreverse filtered-bindings))
- (evil-collection--define-key states-to-bind map-sym filtered-bindings))))
-
-(defun evil-collection-can-bind-key (key)
- "Return whether or not we should bind KEY."
- (let* ((whitelist (mapcar 'kbd evil-collection-key-whitelist))
- (blacklist (mapcar 'kbd evil-collection-key-blacklist)))
- (evil-collection--can-bind-key key whitelist blacklist)))
-
-(defun evil-collection--define-key (state map-sym bindings)
- "Workhorse function for `evil-collection-define-key'.
-
-See `evil-collection-define-key' docstring for more details."
- (cond ((null bindings))
- ((and (boundp map-sym) (keymapp (symbol-value map-sym)))
- (condition-case-unless-debug err
- (apply #'evil-define-key*
- state (symbol-value map-sym) bindings)
- (error
- (message "evil-collection: error setting key in %s %S"
- map-sym err))))
- ((boundp map-sym)
- (user-error "evil-collection: %s is not a keymap" map-sym))
- (t
- (let* ((fname (format "evil-collection-define-key-in-%s" map-sym))
- (fun (make-symbol fname)))
- (fset fun `(lambda (&rest args)
- (when (and (boundp ',map-sym) (keymapp ,map-sym))
- (remove-hook 'after-load-functions #',fun)
- (condition-case-unless-debug err
- (apply #'evil-define-key*
- ',state ,map-sym ',bindings)
- (error
- (message
- ,(format
- "evil-collection: error setting key in %s %%S"
- map-sym)
- err))))))
- (add-hook 'after-load-functions fun t)))))
-
-(defun evil-collection-inhibit-insert-state (map-sym)
- "Unmap insertion keys from normal state.
-This is particularly useful for read-only modes."
- (evil-collection-define-key 'normal map-sym
- [remap evil-append] #'ignore
- [remap evil-append-line] #'ignore
- [remap evil-insert] #'ignore
- [remap evil-insert-line] #'ignore
- [remap evil-change] #'ignore
- [remap evil-change-line] #'ignore
- [remap evil-substitute] #'ignore
- [remap evil-change-whole-line] #'ignore
- [remap evil-delete] #'ignore
- [remap evil-delete-line] #'ignore
- [remap evil-delete-char] #'ignore
- [remap evil-delete-backward-char] #'ignore
- [remap evil-replace] #'ignore
- [remap evil-replace-state] #'ignore
- [remap evil-open-below] #'ignore
- [remap evil-open-above] #'ignore
- [remap evil-paste-after] #'ignore
- [remap evil-paste-before] #'ignore
- [remap evil-join] #'ignore
- [remap evil-indent] #'ignore
- [remap evil-shift-left] #'ignore
- [remap evil-shift-right] #'ignore
- [remap evil-invert-char] #'ignore))
-
-(defun evil-collection-set-readonly-bindings (map-sym)
- "Unmap insertion keys from normal state. Additionally q can `quit-window'.
-This is particularly useful for read-only modes. Make sure it's
-called before setting up other evil bindings so that it can be
-overriden."
- (evil-collection-inhibit-insert-state map-sym)
- (evil-collection-define-key 'normal map-sym
- "q" #'quit-window
- "ZZ" #'quit-window
- "ZQ" #'evil-quit))
-
-(defun evil-collection--binding-lessp (a b)
- "Comparison function used to sort bindings of the form (state key def)."
- (let ((a-state (symbol-name (nth 0 a)))
- (b-state (symbol-name (nth 0 b)))
- (a-key (nth 1 a))
- (b-key (nth 1 b)))
- (if (not (string= a-state b-state))
- (string-lessp a-state b-state)
- (string-lessp a-key b-key))))
-
-(with-eval-after-load 'annalist
- (annalist-define-view 'keybindings 'evil-collection-valid
- (list (list 'keymap :sort #'annalist-string-<)
- (list 'state :sort #'annalist-string-<))
- :inherit 'valid)
-
- (annalist-define-view 'keybindings 'evil-collection-active
- (list (list 'keymap :sort #'annalist-string-<)
- (list 'state :sort #'annalist-string-<))
- :inherit 'active))
-
-(defun evil-collection-describe-bindings (&optional arg)
- "Print bindings made by Evil Collection to separate buffer.
-
-With non-nil ARG, restrict to bindings corresponding to active
-modes in the current buffer.
-
-Requires the optional `annalist' package."
- (interactive "P")
- (unless (require 'annalist nil t)
- (user-error
- "`evil-collection-describe-bindings' requires the `annalist' package"))
- (annalist-describe 'evil-collection 'keybindings
- (if arg
- 'evil-collection-active
- 'evil-collection-valid)))
-
-(defun evil-collection--mode-file (mode file)
- "Return path to FILE for MODE. Return nil if it doesn't exist."
- (let ((path (expand-file-name
- (format "modes/%s/%s" mode file) evil-collection-base-dir)))
- (when (file-exists-p path)
- path)))
-
-(defun evil-collection-open-config-file (mode)
- "Open configuration file corresponding to MODE."
- (interactive
- (list
- (completing-read
- "Mode: "
- (cl-remove-if-not
- (lambda (mode)
- (evil-collection--mode-file mode (format "evil-collection-%s.el" mode)))
- (directory-files
- (expand-file-name "modes" evil-collection-base-dir)
- nil "^[^.]")))))
- (find-file (evil-collection--mode-file mode (format "evil-collection-%s.el" mode))))
-
-(defun evil-collection-open-readme (mode)
- "Open README.org corresponding to MODE."
- (interactive
- (list
- (completing-read
- "Mode: "
- (cl-remove-if-not
- (lambda (mode)
- (evil-collection--mode-file mode "README.org"))
- (directory-files
- (expand-file-name "modes" evil-collection-base-dir)
- nil "^[^.]")))))
- (find-file (evil-collection--mode-file mode "README.org")))
-
-(defun evil-collection--delay (condition form hook &optional append local name)
- "Execute FORM when CONDITION becomes true, checking with HOOK.
-NAME specifies the name of the entry added to HOOK. If APPEND is
-non-nil, the entry is appended to the hook. If LOCAL is non-nil,
-the buffer-local value of HOOK is modified.
-
-This is a backport of `evil-delay' without the deprecation notice to deal with
-CI until migration can be done.
-Ref: https://github.com/emacs-evil/evil-collection/issues/750"
- (eval `(evil-with-delay ,condition (,hook ,append ,local ,name) ,form) t))
-
-;;;###autoload
-(cl-defun evil-collection-translate-minor-mode-key (states modes
- &rest translations
- &key destructive
- &allow-other-keys)
- "Translate keys in the keymap(s) corresponding to STATES and MODES.
-
-Similar to `evil-collection-translate-key' but for minor modes.
-STATES should be the name of an evil state, a list of states, or nil. MODES
-should be a symbol corresponding to minor-mode to make the translations in or a
-list of minor-mode symbols. TRANSLATIONS corresponds to a list of
-key replacement pairs. For example, specifying \"a\" \"b\" will bind \"a\" to
-\"b\"'s definition in the keymap. Specifying nil as a replacement will unbind a
-key. If DESTRUCTIVE is nil, a backup of the keymap will be stored on the initial
-invocation, and future invocations will always look up keys in the backup
-keymap. When no TRANSLATIONS are given, this function will only create the
-backup keymap without making any translations. On the other hand, if DESTRUCTIVE
-is non-nil, the keymap will be destructively altered without creating a backup.
-For example, calling this function multiple times with \"a\" \"b\" \"b\" \"a\"
-would continue to swap and unswap the definitions of these keys. This means that
-when DESTRUCTIVE is non-nil, all related swaps/cycles should be done in the same
-invocation."
- (declare (indent defun))
- (unless (listp modes)
- (setq modes (list modes)))
- (unless (and (listp states)
- (not (null states)))
- (setq states (list states)))
- (dolist (mode-symbol modes)
- (let ((keymap-symbol (intern (format "%S-map" mode-symbol))))
- (dolist (state states)
- (let ((hook-name
- (symbol-name
- (gensym
- (format "evil-collection-translate-key-in-%s" keymap-symbol)))))
- (evil-collection--delay `(and (boundp ',keymap-symbol)
- (keymapp ,keymap-symbol))
- `(evil-collection--translate-minor-mode-key
- ',state
- ',mode-symbol
- ',translations
- ,destructive)
- 'after-load-functions
- t
- nil
- hook-name))))))
-
-
-(defun evil-collection--translate-minor-mode-key (state
- mode-symbol
- translations
- destructive)
- "Helper function for `evil-collection-translate-minor-mode-key'.
-In the minor mode keymap corresponding to STATE and MODE-SYMBOL, make the key
-TRANSLATIONS. When DESTRUCTIVE is non-nil, make the TRANSLATIONS destructively
-without creating/referencing a backup keymap."
- (let* ((keymap-symbol (intern (format "%S-map" mode-symbol)))
- (backup-keymap-symbol (intern (format "evil-collection-%s%s-backup-map"
- mode-symbol
- (if state
- (format "-%s-state" state)
- ""))))
- (keymap (symbol-value keymap-symbol))
- (lookup-keymap (if (and (not destructive)
- (boundp backup-keymap-symbol))
- (symbol-value backup-keymap-symbol)
- (copy-keymap
- (if state
- (evil-get-minor-mode-keymap state mode-symbol)
- keymap))))
- (maps (cl-loop for (key replacement) on translations by 'cddr
- ;; :destructive can be in TRANSLATIONS
- unless (keywordp key)
- collect key
- and collect (when replacement
- (evil-lookup-key lookup-keymap replacement)))))
- (unless (or destructive
- (boundp backup-keymap-symbol))
- (set backup-keymap-symbol lookup-keymap))
- (apply #'evil-define-minor-mode-key state mode-symbol maps)))
-
-(defun evil-collection--translate-key (state keymap-symbol
- translations
- destructive)
- "Helper function for `evil-collection-translate-key'.
-In the keymap corresponding to STATE and KEYMAP-SYMBOL, make the key
-TRANSLATIONS. When DESTRUCTIVE is non-nil, make the TRANSLATIONS destructively
-without creating/referencing a backup keymap."
- (let* ((backup-keymap-symbol (intern (format "evil-collection-%s%s-backup-map"
- keymap-symbol
- (if state
- (format "-%s-state" state)
- ""))))
- (keymap (symbol-value keymap-symbol))
- (lookup-keymap (if (and (not destructive)
- (boundp backup-keymap-symbol))
- (symbol-value backup-keymap-symbol)
- (copy-keymap
- (if state
- (evil-get-auxiliary-keymap keymap state t t)
- keymap))))
- (maps (cl-loop for (key replacement) on translations by 'cddr
- ;; :destructive can be in TRANSLATIONS
- unless (keywordp key)
- collect key
- and collect (when replacement
- (evil-lookup-key lookup-keymap replacement)))))
- (unless (or destructive
- (boundp backup-keymap-symbol))
- (set backup-keymap-symbol lookup-keymap))
- (apply #'evil-define-key* state keymap maps)))
-
-;;;###autoload
-(cl-defun evil-collection-translate-key (states keymaps
- &rest translations
- &key destructive
- &allow-other-keys)
- "Translate keys in the keymap(s) corresponding to STATES and KEYMAPS.
-STATES should be the name of an evil state, a list of states, or nil. KEYMAPS
-should be a symbol corresponding to the keymap to make the translations in or a
-list of keymap symbols. Like `evil-define-key', when a keymap does not exist,
-the keybindings will be deferred until the keymap is defined, so
-`with-eval-after-load' is not necessary. TRANSLATIONS corresponds to a list of
-key replacement pairs. For example, specifying \"a\" \"b\" will bind \"a\" to
-\"b\"'s definition in the keymap. Specifying nil as a replacement will unbind a
-key. If DESTRUCTIVE is nil, a backup of the keymap will be stored on the initial
-invocation, and future invocations will always look up keys in the backup
-keymap. When no TRANSLATIONS are given, this function will only create the
-backup keymap without making any translations. On the other hand, if DESTRUCTIVE
-is non-nil, the keymap will be destructively altered without creating a backup.
-For example, calling this function multiple times with \"a\" \"b\" \"b\" \"a\"
-would continue to swap and unswap the definitions of these keys. This means that
-when DESTRUCTIVE is non-nil, all related swaps/cycles should be done in the same
-invocation."
- (declare (indent defun))
- (unless (listp keymaps)
- (setq keymaps (list keymaps)))
- (unless (and (listp states)
- (not (null states)))
- (setq states (list states)))
- (dolist (keymap-symbol keymaps)
- (dolist (state states)
- (let ((hook-name
- (symbol-name
- (gensym
- (format "evil-collection-translate-key-in-%s" keymap-symbol)))))
- (evil-collection--delay `(and (boundp ',keymap-symbol)
- (keymapp ,keymap-symbol))
- `(evil-collection--translate-key
- ',state
- ',keymap-symbol
- ',translations
- ,destructive)
- 'after-load-functions
- t
- nil
- hook-name)))))
-
-
-;;;###autoload
-(defmacro evil-collection-swap-key (states keymaps &rest args)
- "Wrapper around `evil-collection-translate-key' for swapping keys.
-STATES, KEYMAPS, and ARGS are passed to `evil-collection-translate-key'. ARGS
-should consist of key swaps (e.g. \"a\" \"b\" is equivalent to \"a\" \"b\" \"b\"
-\"a\" with `evil-collection-translate-key') and optionally keyword arguments for
-`evil-collection-translate-key'."
- (declare (indent defun))
- (setq args (cl-loop for (key replacement) on args by 'cddr
- collect key and collect replacement
- and unless (keywordp key)
- collect replacement and collect key))
- `(evil-collection-translate-key ,states ,keymaps ,@args))
-
-;;;###autoload
-(defmacro evil-collection-swap-minor-mode-key (states modes &rest args)
- "Wrapper around `evil-collection-translate-minor-mode-key' for swapping keys.
-STATES, MODES, and ARGS are passed to
-`evil-collection-translate-minor-mode-key'. ARGS should consist of key swaps
-\(e.g. \"a\" \"b\" is equivalent to \"a\" \"b\" \"b\" \"a\"
-with `evil-collection-translate-minor-mode-key') and optionally keyword
-arguments for `evil-collection-translate-minor-mode-key'."
- (declare (indent defun))
- (setq args (cl-loop for (key replacement) on args by 'cddr
- collect key and collect replacement
- and unless (keywordp key)
- collect replacement and collect key))
- `(evil-collection-translate-minor-mode-key ,states ,modes ,@args))
-
-;;;###autoload
-(defun evil-collection-require (mode &optional noerror)
- "Require the evil-collection-MODE file, but do not activate it.
-
-MODE should be a symbol. This requires the evil-collection-MODE
-feature without needing to manipulate `load-path'. NOERROR is
-forwarded to `require'."
- (let* ((mode-name (symbol-name mode))
- (feature (intern (format "evil-collection-%s" mode-name)))
- (file (expand-file-name
- (format "modes/%s/evil-collection-%s" mode-name mode-name)
- evil-collection-base-dir)))
- (require feature file noerror)))
-
-(declare-function evil-collection-unimpaired-setup "evil-collection-unimpaired")
-
-;;;###autoload
-(defun evil-collection-init (&optional modes)
- "Register the Evil bindings for all modes in `evil-collection-mode-list'.
-
-Alternatively, you may register select bindings manually, for
-instance:
-
- (with-eval-after-load \='calendar
- (evil-collection-calendar-setup))
-
-If MODES is specified (as either one mode or a list of modes), use those modes
-instead of the modes in `evil-collection-mode-list'."
- (interactive)
- (evil-collection-maybe-display-startup-warning)
- (if modes
- (or (listp modes) (setq modes (list modes)))
- (setq modes evil-collection-mode-list))
- (dolist (mode modes)
- (let ((m mode)
- (reqs (list mode)))
- (when (listp mode)
- (setq m (car mode)
- reqs (cdr mode)))
- (dolist (req reqs)
- (with-eval-after-load req
- ;; (message (format "Loaded %S..." req))
- (evil-collection-require m)
- (funcall (intern (concat "evil-collection-" (symbol-name m)
- "-setup")))
- (let ((mode-keymaps
- (ignore-errors
- (symbol-value
- (intern (format "evil-collection-%s-maps" m))))))
- (when (or evil-collection-always-run-setup-hook-after-load
- (not (memq m evil-collection--modes-with-delayed-setup)))
- (run-hook-with-args 'evil-collection-setup-hook
- m mode-keymaps)))))))
- (when evil-collection-want-unimpaired-p
- (evil-collection-require 'unimpaired)
- (evil-collection-unimpaired-setup)))
-
-(defun evil-collection-setup (&optional modes)
- "Register the Evil bindings for all modes in `evil-collection-mode-list'.
-
-----------------------EXPERIMENTAL------------------------------------------
-
-This is a special wrapper over `evil-collection-init' that respects
-configuration from `evil-collection-config'. This function is experimental,
-so don't use if you don't want breakages or API changes.
-
-If MODES is specified (as either one mode or a list of modes), use those modes
-instead of the modes in `evil-collection-mode-list'.
-
-----------------------EXPERIMENTAL------------------------------------------"
- (if modes
- (or (listp modes) (setq modes (list modes)))
- (setq modes evil-collection-mode-list))
- (let ((configs evil-collection-config)
- (deferred) ; alist of (mode . delay)
- (hooked)) ; alist of (mode . hook)
- (dolist (config configs)
- (if-let* ((hook (plist-get (cdr config) :hook)))
- (push (cons (car config) hook) hooked)
- (when-let* ((defer (plist-get (cdr config) :defer)))
- (push (cons (car config) defer) deferred))))
- (let ((filtered-modes
- (cl-remove-if
- (lambda (mode)
- ;; `evil-collection-config' format is slightly different
- ;; than `evil-collection-mode-list', so use the mode
- ;; entry from the mode list instead.
- (cl-some
- (lambda (m)
- (or (when-let* ((entry (assq m deferred)))
- (setf (car entry) mode) t)
- (when-let* ((entry (assq m hooked)))
- (setf (car entry) mode) t)))
- (if (consp mode) mode (list mode))))
- modes)))
- (evil-collection-init filtered-modes))
- (message (format "Deferring: %S" (mapcar #'car deferred)))
- (dolist (entry deferred)
- (let ((mode (car entry))
- (delay (cdr entry)))
- (run-with-idle-timer
- (if (numberp delay) delay evil-collection-defer-delay) nil
- (apply-partially 'evil-collection-init (list mode)))))
- (dolist (entry hooked)
- (let* ((mode (car entry))
- (hook-sym (cdr entry))
- (hook-name (let ((name (symbol-name hook-sym)))
- (if (string-suffix-p "-hook" name)
- hook-sym
- (intern (concat name "-hook")))))
- (mode-sym (if (consp mode) (car mode) mode))
- (fn-sym (intern (format "evil-collection--init-%s" mode-sym))))
- (defalias fn-sym
- (lambda ()
- (remove-hook hook-name fn-sym)
- (evil-collection-init (list mode))))
- (add-hook hook-name fn-sym)))))
-
-(defvar evil-collection-delete-operators '(evil-delete
- evil-cp-delete
- evil-sp-delete
- lispyville-delete)
- "List of delete operators.")
-
-(defvar evil-collection-yank-operators '(evil-yank
- evil-cp-yank
- evil-sp-yank
- lispyville-yank)
- "List of yank operators.")
-
-;;* Search
-
-(defun evil-collection-evil-search-enabled ()
- (eq evil-search-module 'evil-search))
-
-(defvar evil-collection-evil-search-forward
- '(menu-item "" nil :filter (lambda (&optional _)
- (if (eq evil-search-module 'evil-search)
- #'evil-ex-search-forward
- #'evil-search-forward))))
-
-(defvar evil-collection-evil-search-backward
- '(menu-item "" nil :filter (lambda (&optional _)
- (if (eq evil-search-module 'evil-search)
- #'evil-ex-search-backward
- #'evil-search-backward))))
-
-(defvar evil-collection-evil-search-next
- '(menu-item "" nil :filter (lambda (&optional _)
- (if (eq evil-search-module 'evil-search)
- #'evil-ex-search-next
- #'evil-search-next))))
-
-(defvar evil-collection-evil-search-previous
- '(menu-item "" nil :filter (lambda (&optional _)
- (if (eq evil-search-module 'evil-search)
- #'evil-ex-search-previous
- #'evil-search-previous))))
-
-(provide 'evil-collection)
-;;; evil-collection.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/.nosearch b/.config/emacs/lisp/evil-collection/modes/.nosearch
deleted file mode 100644
index e69de29..0000000
--- a/.config/emacs/lisp/evil-collection/modes/.nosearch
+++ /dev/null
diff --git a/.config/emacs/lisp/evil-collection/modes/2048-game/evil-collection-2048-game.el b/.config/emacs/lisp/evil-collection/modes/2048-game/evil-collection-2048-game.el
deleted file mode 100644
index ce64221..0000000
--- a/.config/emacs/lisp/evil-collection/modes/2048-game/evil-collection-2048-game.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; evil-collection-2048-game.el --- Evil bindings for `2048-game' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: Daniel Phan <daniel.phan36@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, games
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `2048-game'.
-
-;;; Code:
-(require 'evil-collection)
-(require '2048-game nil t)
-
-(defconst evil-collection-2048-game-maps '(2048-mode-map))
-
-;;;###autoload
-(defun evil-collection-2048-game-setup ()
- "Set up `evil' bindings for `2048-game'."
- (evil-set-initial-state '2048-mode 'normal)
- (evil-collection-define-key 'normal '2048-mode-map
- "h" '2048-left
- "j" '2048-down
- "k" '2048-up
- "l" '2048-right
- "r" '2048-random-move
- (kbd "<up>") '2048-up
- (kbd "<left>") '2048-left
- (kbd "<right>") '2048-right
- (kbd "<down>") '2048-down
- "q" 'quit-window
- "ZQ" 'evil-quit
- "ZZ" 'quit-window))
-
-(provide 'evil-collection-2048-game)
-;;; evil-collection-2048-game.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ag/README.org b/.config/emacs/lisp/evil-collection/modes/ag/README.org
deleted file mode 100644
index 48ceccc..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ag/README.org
+++ /dev/null
@@ -1,22 +0,0 @@
-* ag
-
- Evil bindings for [[https://github.com/Wilfred/ag.el][ag]] search result buffers.
-
- Initial state for =ag-mode= is forced to =normal= so the buffer can be
- edited with [[https://github.com/mhayashi1120/Emacs-wgrep][wgrep]].
-
-** Key bindings
-
- Applied in =normal= and =visual= states.
-
- | Command | Original | Evil |
- |------------------------------+----------+-------------------|
- | =evil-previous-line= | | =k= |
- | =evil-backward-char= | | =h= |
- | =recompile= | =g= | =gr= |
- | =compilation-next-error= | =n= | =gj=, =C-j=, =]]= |
- | =compilation-previous-error= | =p= | =gk=, =C-k=, =[[= |
- | =evil-search-backward= | | =?= |
- | =evil-search-forward= | | =/= |
- | =evil-search-next= | | =n= |
- | =evil-search-previous= | | =N= |
diff --git a/.config/emacs/lisp/evil-collection/modes/ag/evil-collection-ag.el b/.config/emacs/lisp/evil-collection/modes/ag/evil-collection-ag.el
deleted file mode 100644
index 0ce8b90..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ag/evil-collection-ag.el
+++ /dev/null
@@ -1,63 +0,0 @@
-;;; evil-collection-ag.el --- Evil Bindings for Ag -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, ag, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `ag-mode' from the `wgrep-ag' package.
-
-;;; Code:
-(require 'ag nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-ag-maps '(ag-mode-map))
-
-;;;###autoload
-(defun evil-collection-ag-setup ()
- "Set up `evil' bindings for `ag'."
- (evil-collection-define-key '(normal visual) 'ag-mode-map
- "k" 'evil-previous-line
- "h" 'evil-backward-char
-
- ;; refresh
- "gr" 'recompile
-
- ;; navigation
- "gj" 'compilation-next-error
- "gk" 'compilation-previous-error
- (kbd "C-j") 'compilation-next-error
- (kbd "C-k") 'compilation-previous-error
- "]]" 'compilation-next-error
- "[[" 'compilation-previous-error
-
- ;; search
- "?" evil-collection-evil-search-backward
- "/" evil-collection-evil-search-forward
- "n" evil-collection-evil-search-next
- "N" evil-collection-evil-search-previous)
- ;; `ag' is best set in 'normal state because its buffer can be edited.
- ;; https://github.com/mhayashi1120/Emacs-wgrep
- (evil-set-initial-state 'ag-mode 'normal))
-
-(provide 'evil-collection-ag)
-;;; evil-collection-ag.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/agent-shell/README.org b/.config/emacs/lisp/evil-collection/modes/agent-shell/README.org
deleted file mode 100644
index a362a2f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/agent-shell/README.org
+++ /dev/null
@@ -1,137 +0,0 @@
-* agent-shell
-
- Evil bindings for [[https://github.com/xenodium/agent-shell][agent-shell]] -- a
- comint-based chat REPL with permission prompts, a side viewport and a diff
- buffer.
-
-** agent-shell-mode-map
-
- Upstream's =n= / =p= top-level bindings are unset so they don't intercept
- keystrokes in insert state; in insert they self-insert.
-
-*** Permission dispatch (normal state)
-
- Only active when =evil-collection-agent-shell-want-permission-bindings= is
- non-nil. Each key falls through to its default evil command unless a
- pending permission button is visible.
-
- | Command | Action | Evil |
- |-------------------------------------------------------+------------------+------|
- | =evil-collection-agent-shell-permission-view-diff= | view diff =v= | =v= |
- | =evil-collection-agent-shell-permission-allow-once= | allow =y= | =y= |
- | =evil-collection-agent-shell-permission-reject-once= | reject =C-c C-c= | =n= |
- | =evil-collection-agent-shell-permission-allow-always= | always allow =!= | =!= |
-
-*** Navigation (normal state)
-
- | Command | Original | Evil |
- |----------------------------------+----------+-------------|
- | =agent-shell-next-item= | =n= | =TAB= |
- | =agent-shell-previous-item= | =p= | =<backtab>= |
- | =agent-shell-cycle-session-mode= | n/a | =C-<tab>= |
-
-*** g-prefix (only when =evil-collection-want-g-bindings=)
-
- | Command | Evil |
- |----------------------------------+------|
- | =agent-shell-cycle-session-mode= | =gs= |
- | =agent-shell-interrupt= | =gx= |
- | =agent-shell-set-session-mode= | =gm= |
- | =agent-shell-set-session-model= | =gv= |
- | =agent-shell-other-buffer= | =go= |
- | =agent-shell-yank-dwim= | =gp= |
- | =agent-shell-reload= | =gr= |
- | =agent-shell-restart= | =gR= |
- | =agent-shell-fork= | =gF= |
- | =agent-shell-copy-session-id= | =gy= |
- | =agent-shell-prompt-compose= | =gc= |
- | =agent-shell-queue-request= | =gq= |
- | =agent-shell-open-transcript= | =gt= |
-
-** agent-shell-viewport-edit-mode-map
-
- The viewport's compose buffer. Standard save/quit verbs become send/cancel.
-
- | Command | Original | Evil |
- |------------------------------------------+-----------+--------------------------------|
- | =agent-shell-viewport-compose-send= | =C-c C-c= | =:w=, =:wq=, =ZZ=, =RET= remap |
- | =agent-shell-viewport-compose-cancel= | =C-c C-k= | =:q=, =ZQ= |
- | =agent-shell-viewport-previous-history= | n/a | =M-k= |
- | =agent-shell-viewport-next-history= | n/a | =M-j= |
- | =agent-shell-viewport-compose-peek-last= | n/a | =C-o= |
-
- When =evil-collection-want-g-bindings= is non-nil:
-
- | Command | Evil |
- |------------------------------------------+------|
- | =agent-shell-viewport-compose-help-menu= | =g?= |
- | =agent-shell-cycle-session-mode= | =gs= |
- | =agent-shell-viewport-set-session-mode= | =gm= |
- | =agent-shell-viewport-set-session-model= | =gv= |
- | =agent-shell-other-buffer= | =go= |
- | =agent-shell-yank-dwim= | =gp= |
- | =agent-shell-viewport-search-history= | =g/= |
- | =agent-shell-viewport-copy-session-id= | =gy= |
- | =agent-shell-viewport-open-transcript= | =gt= |
-
-** agent-shell-viewport-view-mode-map
-
- Read-only viewport. =RET= / =:w= / =ZZ= all interrupt the agent; =:q= /
- =ZQ= bury.
-
- | Command | Original | Evil |
- |--------------------------------------+-----------+-------------------------|
- | =agent-shell-viewport-interrupt= | =C-c C-c= | =RET=, =:w=, =ZZ= remap |
- | =bury-buffer= | =q= | =q=, =ZQ=, =:q= remap |
- | =agent-shell-viewport-next-item= | =n= | =TAB=, =gj= |
- | =agent-shell-viewport-previous-item= | =p= | =<backtab>=, =gk= |
- | =agent-shell-viewport-next-page= | =f= | =C-j= |
- | =agent-shell-viewport-previous-page= | =b= | =C-k= |
-
- When =evil-collection-want-g-bindings= is non-nil:
-
- | Command | Evil |
- |-------------------------------------------+--------------|
- | =agent-shell-viewport-reply-1..9= | =g1= .. =g9= |
- | =agent-shell-viewport-cycle-session-mode= | =gs= |
- | =agent-shell-viewport-set-session-model= | =gv= |
- | =agent-shell-other-buffer= | =go= |
- | =agent-shell-viewport-set-session-mode= | =gm= |
- | =agent-shell-viewport-help-menu= | =g?= |
- | =agent-shell-viewport-reply= | =gr= |
- | =agent-shell-viewport-reply-yes= | =gy= |
- | =agent-shell-viewport-reply-more= | =gM= |
- | =agent-shell-viewport-reply-again= | =ga= |
- | =agent-shell-viewport-reply-continue= | =gc= |
- | =agent-shell-viewport-edit= | =ge= |
- | =agent-shell-viewport-fork= | =gF= |
- | =agent-shell-viewport-copy-session-id= | =gY= |
- | =agent-shell-viewport-open-transcript= | =gt= |
- | =agent-shell-viewport-refresh= | =gz= |
-
-** agent-shell-diff-mode-map
-
- | Command | Original | Evil (=g-bindings=) | Evil (no =g-bindings=) |
- |-------------------------------+----------+---------------------+------------------------|
- | =agent-shell-diff-open-file= | =f= | =gf= | =f= |
- | =agent-shell-diff-accept-all= | =y= | =gy= | =y= |
- | =agent-shell-diff-reject-all= | =n= | =gn= | =n= |
- | =kill-current-buffer= | n/a | =q= | =q= |
-
-** New commands
-
- | Command | Purpose |
- |-------------------------------------------------------+----------------------------------------------------|
- | =evil-collection-agent-shell-permission-allow-once= | Press =y= on the latest pending permission button. |
- | =evil-collection-agent-shell-permission-reject-once= | Send =C-c C-c= to it. |
- | =evil-collection-agent-shell-permission-allow-always= | Press =!=. |
- | =evil-collection-agent-shell-permission-view-diff= | Press =v=. |
-
- Each only fires when a pending permission button is visible -- otherwise the
- keymap entry resolves to nil via a =:filter= and evil's default takes over.
-
-** Customization
-
- | Variable | Default | Purpose |
- |--------------------------------------------------------+---------+-------------------------------------------------------|
- | =evil-collection-agent-shell-want-permission-bindings= | =t= | Bind =y= / =n= / =!= / =v= for the dispatchers above. |
diff --git a/.config/emacs/lisp/evil-collection/modes/agent-shell/evil-collection-agent-shell.el b/.config/emacs/lisp/evil-collection/modes/agent-shell/evil-collection-agent-shell.el
deleted file mode 100644
index c738d94..0000000
--- a/.config/emacs/lisp/evil-collection/modes/agent-shell/evil-collection-agent-shell.el
+++ /dev/null
@@ -1,254 +0,0 @@
-;;; evil-collection-agent-shell.el --- Bindings for agent-shell -*- lexical-binding: t -*-
-
-;; Copyright (C) 2026 Joseph LaFreniere
-
-;; Author: Joseph LaFreniere <git@lafreniere.xyz>
-;; Maintainer: Joseph LaFreniere <git@lafreniere.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "29.1"))
-;; Keywords: evil, agent-shell, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for agent-shell.
-
-;;; Code:
-(require 'evil-collection)
-(require 'agent-shell nil t)
-
-(defconst evil-collection-agent-shell-maps '(agent-shell-mode-map
- agent-shell-viewport-edit-mode-map
- agent-shell-viewport-view-mode-map
- agent-shell-diff-mode-map))
-
-(defvar agent-shell-mode-map)
-(defvar agent-shell-viewport-edit-mode-map)
-(defvar agent-shell-viewport-view-mode-map)
-(defvar agent-shell-diff-mode-map)
-
-(defcustom evil-collection-agent-shell-want-permission-bindings t
- "When non-nil, bind permission button keys in normal state.
-
-`y', `n', `!', and `v' will activate the latest pending permission
-button when one is visible, and fall through to their default Evil
-commands otherwise."
- :type 'boolean
- :group 'evil-collection)
-
-;;; Permission button helpers.
-
-(defun evil-collection-agent-shell--latest-permission-keymap ()
- "Return the keymap of the latest pending permission button, or nil.
-Walks the buffer backward from `point-max' looking for text with the
-`agent-shell-permission-button' property -- the navigatable single-char
-marker that `agent-shell--make-permission-button' adds to each button."
- (save-excursion
- (goto-char (point-max))
- (when-let* ((match (text-property-search-backward
- 'agent-shell-permission-button t t)))
- (get-text-property (prop-match-beginning match) 'keymap))))
-
-(defun evil-collection-agent-shell--pending-permission-p ()
- "Return non-nil when the current buffer has a pending permission button."
- (and (evil-collection-agent-shell--latest-permission-keymap) t))
-
-(defun evil-collection-agent-shell--press (key)
- "Dispatch KEY through the latest pending permission's button keymap.
-KEY is a string passed to `kbd'."
- (let* ((km (or (evil-collection-agent-shell--latest-permission-keymap)
- (user-error "No pending permission")))
- (binding (lookup-key km (kbd key))))
- (cond
- ((commandp binding) (call-interactively binding))
- ((null binding) (user-error "No `%s' action on this permission" key))
- (t (user-error "Unexpected binding for `%s': %S" key binding)))))
-
-(defun evil-collection-agent-shell-permission-allow-once ()
- "Allow the latest pending tool-call permission once."
- (interactive)
- (evil-collection-agent-shell--press "y"))
-
-(defun evil-collection-agent-shell-permission-reject-once ()
- "Reject the latest pending tool-call permission and interrupt the agent."
- (interactive)
- (evil-collection-agent-shell--press "C-c C-c"))
-
-(defun evil-collection-agent-shell-permission-allow-always ()
- "Always-allow the tool kind for the latest pending permission."
- (interactive)
- (evil-collection-agent-shell--press "!"))
-
-(defun evil-collection-agent-shell-permission-view-diff ()
- "View the diff for the latest pending permission, if any."
- (interactive)
- (evil-collection-agent-shell--press "v"))
-
-(defvar evil-collection-agent-shell-permission-allow-once
- `(menu-item "" nil :filter
- ,(lambda (&optional _)
- (when (evil-collection-agent-shell--pending-permission-p)
- 'evil-collection-agent-shell-permission-allow-once))))
-
-(defvar evil-collection-agent-shell-permission-reject-once
- `(menu-item "" nil :filter
- ,(lambda (&optional _)
- (when (evil-collection-agent-shell--pending-permission-p)
- 'evil-collection-agent-shell-permission-reject-once))))
-
-(defvar evil-collection-agent-shell-permission-allow-always
- `(menu-item "" nil :filter
- ,(lambda (&optional _)
- (when (evil-collection-agent-shell--pending-permission-p)
- 'evil-collection-agent-shell-permission-allow-always))))
-
-(defvar evil-collection-agent-shell-permission-view-diff
- `(menu-item "" nil :filter
- ,(lambda (&optional _)
- (when (evil-collection-agent-shell--pending-permission-p)
- 'evil-collection-agent-shell-permission-view-diff))))
-
-;;;###autoload
-(defun evil-collection-agent-shell-setup ()
- "Set up `evil' bindings for `agent-shell'."
- ;; `agent-shell-mode-map' binds \"n\" and \"p\" at the map level, which causes
- ;; them to intercept keystrokes even in insert state. Remove those bindings
- ;; entirely.
- (if (fboundp 'keymap-unset)
- (progn
- (keymap-unset agent-shell-mode-map "n" t)
- (keymap-unset agent-shell-mode-map "p" t))
- (define-key agent-shell-mode-map "n" nil)
- (define-key agent-shell-mode-map "p" nil))
-
- (evil-collection-define-key 'insert 'agent-shell-mode-map
- "n" 'self-insert-command
- "p" 'self-insert-command)
-
- (when evil-collection-agent-shell-want-permission-bindings
- (evil-collection-define-key 'normal 'agent-shell-mode-map
- "v" evil-collection-agent-shell-permission-view-diff
- "y" evil-collection-agent-shell-permission-allow-once
- "n" evil-collection-agent-shell-permission-reject-once
- "!" evil-collection-agent-shell-permission-allow-always))
-
- (evil-collection-define-key 'normal 'agent-shell-mode-map
- (kbd "TAB") 'agent-shell-next-item
- "<backtab>" 'agent-shell-previous-item
- (kbd "C-<tab>") 'agent-shell-cycle-session-mode)
-
- (when evil-collection-want-g-bindings
- (evil-collection-define-key 'normal 'agent-shell-mode-map
- "gs" 'agent-shell-cycle-session-mode
- "gx" 'agent-shell-interrupt
- "gm" 'agent-shell-set-session-mode
- "gv" 'agent-shell-set-session-model
- "go" 'agent-shell-other-buffer
- "gp" 'agent-shell-yank-dwim
- "gr" 'agent-shell-reload
- "gR" 'agent-shell-restart
- "gF" 'agent-shell-fork
- "gy" 'agent-shell-copy-session-id
- "gc" 'agent-shell-prompt-compose
- "gq" 'agent-shell-queue-request
- "gt" 'agent-shell-open-transcript))
-
- (evil-collection-define-key 'normal 'agent-shell-viewport-edit-mode-map
- [remap evil-save-and-close] 'agent-shell-viewport-compose-send
- [remap evil-save-modified-and-close] 'agent-shell-viewport-compose-send
- [remap evil-ret] 'agent-shell-viewport-compose-send
- [remap evil-write] 'agent-shell-viewport-compose-send
- [remap evil-quit] 'agent-shell-viewport-compose-cancel
- "M-k" 'agent-shell-viewport-previous-history
- "M-j" 'agent-shell-viewport-next-history
- (kbd "C-o") 'agent-shell-viewport-compose-peek-last)
-
- (when evil-collection-want-g-bindings
- (evil-collection-define-key 'normal 'agent-shell-viewport-edit-mode-map
- "g?" 'agent-shell-viewport-compose-help-menu
- "gs" 'agent-shell-cycle-session-mode
- "gm" 'agent-shell-viewport-set-session-mode
- "gv" 'agent-shell-viewport-set-session-model
- "go" 'agent-shell-other-buffer
- "gp" 'agent-shell-yank-dwim
- "g/" 'agent-shell-viewport-search-history
- "gy" 'agent-shell-viewport-copy-session-id
- "gt" 'agent-shell-viewport-open-transcript))
-
- (evil-collection-define-key 'normal 'agent-shell-viewport-view-mode-map
- [remap evil-save-and-close] 'agent-shell-viewport-interrupt
- [remap evil-save-modified-and-close] 'agent-shell-viewport-interrupt
- [remap evil-ret] 'agent-shell-viewport-interrupt
- [remap evil-write] 'agent-shell-viewport-interrupt
- [remap evil-quit] 'bury-buffer
- (kbd "TAB") 'agent-shell-viewport-next-item
- (kbd "<backtab>") 'agent-shell-viewport-previous-item
- "gj" 'agent-shell-viewport-next-item
- "gk" 'agent-shell-viewport-previous-item
- (kbd "C-j") 'agent-shell-viewport-next-page
- (kbd "C-k") 'agent-shell-viewport-previous-page
- "q" 'bury-buffer)
-
- (when evil-collection-want-g-bindings
- (evil-collection-define-key 'normal 'agent-shell-viewport-view-mode-map
- "g1" 'agent-shell-viewport-reply-1
- "g2" 'agent-shell-viewport-reply-2
- "g3" 'agent-shell-viewport-reply-3
- "g4" 'agent-shell-viewport-reply-4
- "g5" 'agent-shell-viewport-reply-5
- "g6" 'agent-shell-viewport-reply-6
- "g7" 'agent-shell-viewport-reply-7
- "g8" 'agent-shell-viewport-reply-8
- "g9" 'agent-shell-viewport-reply-9
- "gs" 'agent-shell-viewport-cycle-session-mode
- "gv" 'agent-shell-viewport-set-session-model
- "go" 'agent-shell-other-buffer
- "gm" 'agent-shell-viewport-set-session-mode
- "g?" 'agent-shell-viewport-help-menu
- ;; Maybe move elsewhere.
- "gr" 'agent-shell-viewport-reply
- "gy" 'agent-shell-viewport-reply-yes
- "gM" 'agent-shell-viewport-reply-more
- "ga" 'agent-shell-viewport-reply-again
- "gc" 'agent-shell-viewport-reply-continue
- "ge" 'agent-shell-viewport-edit
- "gF" 'agent-shell-viewport-fork
- "gY" 'agent-shell-viewport-copy-session-id
- "gt" 'agent-shell-viewport-open-transcript
- "gz" 'agent-shell-viewport-refresh))
-
- (evil-collection-define-key 'normal 'agent-shell-diff-mode-map
- "q" #'kill-current-buffer)
-
- (if evil-collection-want-g-bindings
- (evil-collection-define-key 'normal 'agent-shell-diff-mode-map
- "gf" 'agent-shell-diff-open-file
- "gy" 'agent-shell-diff-accept-all
- "gn" 'agent-shell-diff-reject-all)
- (evil-collection-define-key 'normal 'agent-shell-diff-mode-map
- "f" 'agent-shell-diff-open-file
- "y" 'agent-shell-diff-accept-all
- "n" 'agent-shell-diff-reject-all))
-
- (add-hook 'agent-shell-diff-mode-hook #'evil-normalize-keymaps)
- (add-hook 'agent-shell-mode-hook #'evil-normalize-keymaps)
- (add-hook 'agent-shell-viewport-view-mode-hook #'evil-normalize-keymaps)
- (add-hook 'agent-shell-viewport-edit-mode-hook #'evil-normalize-keymaps)
-
- (advice-add 'agent-shell-jump-to-latest-permission-button-row
- :after (lambda (&rest _) (evil-normalize-keymaps))))
-
-(provide 'evil-collection-agent-shell)
-;;; evil-collection-agent-shell.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/alchemist/evil-collection-alchemist.el b/.config/emacs/lisp/evil-collection/modes/alchemist/evil-collection-alchemist.el
deleted file mode 100644
index 43a823d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/alchemist/evil-collection-alchemist.el
+++ /dev/null
@@ -1,114 +0,0 @@
-;;; evil-collection-alchemist.el --- Bindings for `alchemist' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, alchemist, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `alchemist'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'alchemist nil t)
-
-(defconst evil-collection-alchemist-maps '(alchemist-compile-mode-map
- alchemist-eval-mode-map
- alchemist-execute-mode-map
- alchemist-message-mode-map
- alchemist-help-minor-mode-map
- alchemist-macroexpand-mode-map
- alchemist-mix-mode-map
- alchemist-test-report-mode-map
- alchemist-mode-map))
-
-
-;;;###autoload
-(defun evil-collection-alchemist-setup ()
- "Set up `evil' bindings for `alchemist'."
- (evil-set-initial-state 'alchemist-compile-mode 'normal)
- (evil-set-initial-state 'alchemist-eval-mode 'normal)
- (evil-set-initial-state 'alchemist-execute-mode 'normal)
- (evil-set-initial-state 'alchemist-message-mode 'normal)
- (evil-set-initial-state 'alchemist-help-minor-mode 'normal)
- (evil-set-initial-state 'alchemist-macroexpand-mode 'normal)
- (evil-set-initial-state 'alchemist-refcard-mode 'normal)
- (evil-set-initial-state 'alchemist-mix-mode 'normal)
- (evil-set-initial-state 'alchemist-test-mode 'normal)
- (evil-set-initial-state 'alchemist-test-report-mode 'normal)
-
- (evil-collection-define-key 'normal 'alchemist-compile-mode-map
- "q" 'quit-window)
-
- (evil-collection-define-key 'normal 'alchemist-eval-mode-map
- "q" 'quit-window)
-
- (evil-collection-define-key 'normal 'alchemist-execute-mode-map
- "q" 'quit-window)
-
- (evil-collection-define-key 'normal 'alchemist-message-mode-map
- "q" 'quit-window)
-
- (evil-collection-define-key 'normal 'alchemist-help-minor-mode-map
- "q" 'quit-window
- "K" 'alchemist-help-search-at-point
- "m" 'alchemist-help-module
- "s" 'alchemist-help
- "gh" 'alchemist-help-history
- "gd" 'alchemist-goto-definition-at-point
- "g?" 'alchemist-help-minor-mode-key-binding-summary)
-
- (evil-collection-define-key 'normal 'alchemist-macroexpand-mode-map
- "q" 'quit-window)
-
- (evil-collection-define-key 'normal 'alchemist-refcard-mode-map
- "gd" 'alchemist-refcard--describe-funtion-at-point
- "g?" 'alchemist-refcard--describe-funtion-at-point
- "q" 'quit-window)
-
- (evil-collection-define-key 'normal 'alchemist-mix-mode-map
- "q" 'quit-window
- "i" 'alchemist-mix-send-input-to-mix-process
- "gr" 'alchemist-mix-rerun-last-task)
-
- (evil-collection-define-key 'normal 'alchemist-test-report-mode-map
- "q" 'quit-window
- "t" 'toggle-truncate-lines
- "gr" 'alchemist-mix-rerun-last-test
- "gj" 'alchemist-test-next-result
- "gk" 'alchemist-test-previous-result
- (kbd "C-j") 'alchemist-test-next-result
- (kbd "C-k") 'alchemist-test-previous-result
- "]]" 'alchemist-test-next-stacktrace-file
- "[[" 'alchemist-test-previous-stacktrace-file
- (kbd "C-c C-k") 'alchemist-report-interrupt-current-process)
-
- (evil-collection-define-key 'normal 'alchemist-mode-map
- "gz" 'alchemist-iex-run
- "K" 'alchemist-help-search-at-point
- "gd" 'alchemist-goto-definition-at-point
- (kbd "C-t") 'alchemist-goto-jump-back
- "g?" 'alchemist-help
- (kbd "C-j") 'alchemist-goto-jump-to-next-def-symbol
- (kbd "C-k") 'alchemist-goto-jump-to-previous-def-symbol))
-
-(provide 'evil-collection-alchemist)
-;;; evil-collection-alchemist.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/anaconda-mode/evil-collection-anaconda-mode.el b/.config/emacs/lisp/evil-collection/modes/anaconda-mode/evil-collection-anaconda-mode.el
deleted file mode 100644
index a37ecf6..0000000
--- a/.config/emacs/lisp/evil-collection/modes/anaconda-mode/evil-collection-anaconda-mode.el
+++ /dev/null
@@ -1,66 +0,0 @@
-;;; evil-collection-anaconda-mode.el --- Bindings for `anaconda-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, python, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `anaconda-mode'.
-
-;;; Code:
-(require 'anaconda-mode nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-anaconda-mode-maps '(anaconda-view-mode-map
- anaconda-mode-map))
-
-;;;###autoload
-(defun evil-collection-anaconda-mode-setup ()
- "Set up `evil' bindings for `anaconda-mode'."
- ;; Bindings don't seem to be set the first time.
- (add-hook 'anaconda-mode-hook #'evil-normalize-keymaps)
-
- ;; latest anaconda has replaced view mode by an xref implementation,
- ;; anaconda stable uses `anaconda-view-mode-map'
- (when (boundp 'anaconda-view-mode-map)
- (evil-collection-define-key 'normal 'anaconda-view-mode-map
- "gj" 'next-error-no-select
- "gk" 'previous-error-no-select
- (kbd "C-j") 'next-error-no-select
- (kbd "C-k") 'previous-error-no-select
- "]]" 'next-error-no-select
- "[[" 'previous-error-no-select
- "q" 'quit-window))
-
- (evil-collection-define-key 'normal 'anaconda-mode-map
- "gd" 'anaconda-mode-find-definitions
- (kbd "C-t") (if (fboundp 'anaconda-mode-go-back)
- 'anaconda-mode-go-back
- 'xref-pop-marker-stack)
- "K" 'anaconda-mode-show-doc)
-
- (when evil-collection-want-find-usages-bindings
- (evil-collection-define-key 'normal 'anaconda-mode-map
- "gA" 'anaconda-mode-find-assignments
- "gr" 'anaconda-mode-find-references)))
-
-(provide 'evil-collection-anaconda-mode)
-;;; evil-collection-anaconda-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/apropos/README.org b/.config/emacs/lisp/evil-collection/modes/apropos/README.org
deleted file mode 100644
index 650102a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/apropos/README.org
+++ /dev/null
@@ -1,15 +0,0 @@
-* apropos
-
- Evil bindings for =apropos-mode=.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------+----------+-----------|
- | =apropos-follow= | =RET= | =RET= |
- | =forward-button= | =TAB= | =TAB= |
- | =backward-button= | =S-TAB= | =S-TAB= |
- | =describe-mode= | =h=, =?= | =g?= |
- | =revert-buffer= | =g= | =gr= |
- | =quit-window= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/apropos/evil-collection-apropos.el b/.config/emacs/lisp/evil-collection/modes/apropos/evil-collection-apropos.el
deleted file mode 100644
index 7820a49..0000000
--- a/.config/emacs/lisp/evil-collection/modes/apropos/evil-collection-apropos.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; evil-collection-apropos.el --- Evil bindings for apropos-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, help, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `apropos-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'apropos)
-
-(defconst evil-collection-apropos-maps '(apropos-mode-map))
-
-;;;###autoload
-(defun evil-collection-apropos-setup ()
- "Set up `evil' bindings for `apropos'."
- (evil-set-initial-state 'apropos-mode 'normal)
- (evil-collection-define-key 'normal 'apropos-mode-map
- (kbd "RET") 'apropos-follow
- (kbd "TAB") 'forward-button
- (kbd "S-TAB") 'backward-button
- "g?" 'describe-mode
- "gr" 'revert-buffer
-
- ;; quit
- "q" 'quit-window
- "ZQ" 'evil-quit
- "ZZ" 'quit-window))
-
-(provide 'evil-collection-apropos)
-;;; evil-collection-apropos.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/arc-mode/README.org b/.config/emacs/lisp/evil-collection/modes/arc-mode/README.org
deleted file mode 100644
index 178486b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/arc-mode/README.org
+++ /dev/null
@@ -1,30 +0,0 @@
-* arc-mode
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/File-Archives.html][arc-mode]] (archive file browser).
-
- =arc-mode= and =archive-mode= start in normal state.
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------------+-----------------+------------------------------|
- | =archive-next-line= | =n=, =C-n= | =j=, =C-j=, =gj=, =n=, =C-n= |
- | =archive-previous-line= | =p=, =C-p= | =k=, =C-k=, =gk=, =p=, =C-p= |
- | =beginning-of-buffer= | =<= | =gg=, =<= |
- | =end-of-buffer= | =>= | =G=, =>= |
- | =archive-extract= | =RET=, =e=, =f= | =RET= |
- | =archive-extract-other-window= | =o= | =go=, =S-RET= |
- | =archive-view= | =v= | =M-RET= |
- | =archive-alternate-display= | =a= | =a= |
- | =archive-flag-deleted= | =d=, =C-d= | =d=, =C-d= |
- | =archive-rename-entry= | =r= | =r= |
- | =archive-expunge= | =x= | =x= |
- | =archive-copy-file= | =C= | =C= |
- | =archive-chmod-entry= | =M= | =M= |
- | =archive-chown-entry= | =O= | =O= |
- | =archive-chgrp-entry= | =G= | =P= |
- | =archive-mark= | =m= | =m= |
- | =archive-unflag= | =u= | =u= |
- | =archive-unmark-all-files= | =M-DEL= | =U=, =M-DEL= |
- | =revert-buffer= | =g= | =gr= |
- | =quit-window= | =q= | =q= |
diff --git a/.config/emacs/lisp/evil-collection/modes/arc-mode/evil-collection-arc-mode.el b/.config/emacs/lisp/evil-collection/modes/arc-mode/evil-collection-arc-mode.el
deleted file mode 100644
index 7392b37..0000000
--- a/.config/emacs/lisp/evil-collection/modes/arc-mode/evil-collection-arc-mode.el
+++ /dev/null
@@ -1,78 +0,0 @@
-;;; evil-collection-arc-mode.el --- Evil bindings for arc-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, arc-mode, archive, bindings, files
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Evil bindings for arc-mode.
-
-;;; Code:
-(require 'arc-mode)
-(require 'evil-collection)
-
-(defconst evil-collection-arc-mode-maps '(archive-mode-map))
-
-;;;###autoload
-(defun evil-collection-arc-mode-setup ()
- "Set up `evil' bindings for `arc-mode'."
- (evil-set-initial-state 'arc-mode 'normal)
- (evil-set-initial-state 'archive-mode 'normal)
- (evil-collection-define-key 'normal 'archive-mode-map
- "j" 'archive-next-line
- "k" 'archive-previous-line
- (kbd "C-j") 'archive-next-line
- (kbd "C-k") 'archive-previous-line
- "gj" 'archive-next-line
- "gk" 'archive-previous-line
-
- "gg" 'beginning-of-buffer
- "G" 'end-of-buffer
-
- ;; open
- (kbd "RET") 'archive-extract
- (kbd "S-<return>") 'archive-extract-other-window
- (kbd "M-<return>") 'archive-view
- "go" 'archive-extract-other-window
-
- "a" 'archive-alternate-display
- "d" 'archive-flag-deleted
- "r" 'archive-rename-entry
- "x" 'archive-expunge
- "C" 'archive-copy-file
- "M" 'archive-chmod-entry
- "O" 'archive-chown-entry
- "P" 'archive-chgrp-entry
-
- ;; refresh
- "gr" 'revert-buffer
-
- ;; mark
- "m" 'archive-mark
- "u" 'archive-unflag
- "U" 'archive-unmark-all-files
-
- ;; quit
- "q" 'quit-window))
-
-(provide 'evil-collection-arc-mode)
-;;; evil-collection-arc-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/atomic-chrome/evil-collection-atomic-chrome.el b/.config/emacs/lisp/evil-collection/modes/atomic-chrome/evil-collection-atomic-chrome.el
deleted file mode 100644
index 61d2eb2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/atomic-chrome/evil-collection-atomic-chrome.el
+++ /dev/null
@@ -1,42 +0,0 @@
-;;; evil-collection-atomic-chrome.el --- Evil bindings for atomic-chrome -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for atomic-chrome.
-
-;;; Code:
-(require 'evil-collection)
-(require 'atomic-chrome nil t)
-
-(defconst evil-collection-atomic-chrome-maps nil)
-
-;;;###autoload
-(defun evil-collection-atomic-chrome-setup ()
- "Set up `evil' bindings for `atomic-chrome'."
- ;; The browser is in "inserted" state, makes it consistent.
- (evil-set-initial-state 'atomic-chrome-edit-mode 'insert))
-
-(provide 'evil-collection-atomic-chrome)
-;;; evil-collection-atomic-chrome.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/auto-package-update/evil-collection-auto-package-update.el b/.config/emacs/lisp/evil-collection/modes/auto-package-update/evil-collection-auto-package-update.el
deleted file mode 100644
index 7f832b7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/auto-package-update/evil-collection-auto-package-update.el
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; evil-collection-auto-package-update.el --- Evil bindings for auto-package-update -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, auto-package-update, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for auto-package-update.
-
-;;; Code:
-(require 'evil-collection)
-(require 'auto-package-update nil t)
-
-(defconst evil-collection-auto-package-update-maps '(auto-package-update-minor-mode-map))
-
-;;;###autoload
-(defun evil-collection-auto-package-update-setup ()
- "Set up `evil' bindings for `auto-package-update'."
- (add-hook 'auto-package-update-minor-mode-hook 'evil-normalize-keymaps)
- (evil-collection-define-key 'normal 'auto-package-update-minor-mode-map
- "q" 'quit-window))
-
-(provide 'evil-collection-auto-package-update)
-
-;;; evil-collection-auto-package-update.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/beginend/evil-collection-beginend.el b/.config/emacs/lisp/evil-collection/modes/beginend/evil-collection-beginend.el
deleted file mode 100644
index 715a471..0000000
--- a/.config/emacs/lisp/evil-collection/modes/beginend/evil-collection-beginend.el
+++ /dev/null
@@ -1,125 +0,0 @@
-;;; evil-collection-beginend.el --- Evil bindings for beginend -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Balaji Sivaraman
-
-;; Author: Balaji Sivaraman <balaji@balajisivaraman.com>
-;; Maintainer: Balaji Sivaraman <balaji@balajisivaraman.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for beginend.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'beginend nil t)
-
-(eval-and-compile
- (defconst evil-collection-beginend-modes '(bs-mode
- rg-mode
- org-mode
- deft-mode
- prog-mode
- LaTeX-mode
- dired-mode
- latex-mode
- nroam-mode
- occur-mode
- vc-dir-mode
- ibuffer-mode
- message-mode
- outline-mode
- prodigy-mode
- org-agenda-mode
- compilation-mode
- epa-key-list-mode
- magit-status-mode
- elfeed-search-mode
- elfeed-show-mode
- magit-revision-mode
- notmuch-search-mode
- recentf-dialog-mode)))
-
-
-(defmacro evil-beginend--define-goto-beginning-motion (ec-mode-name)
- "Macro to define new Evil motion that will use the corresponding
-beginend-goto-beginning function for EC-MODE-NAME when count is not
-provided for the motion; otherwise behave like `evil-goto-first-line'
-if count is provided.
-
-This will also associate the regular Evil `gg' keybinding with the
-newly defined motion."
- (let ((motion-name (intern (format "evil-beginend-%s-goto-beginning" ec-mode-name)))
- (beginend-beginning-fn-name (intern (format "beginend-%s-goto-beginning" ec-mode-name)))
- (beginend-map-name (intern (format "beginend-%s-map" ec-mode-name))))
- `(progn
- (declare-function ,motion-name "evil-collection")
- (declare-function ,beginend-beginning-fn-name "ext:beginend")
- (evil-define-motion ,motion-name (count)
- :jump t
- :type line
- (if count
- (evil-goto-first-line count)
- (,beginend-beginning-fn-name)))
- (evil-collection-define-key 'normal ',beginend-map-name
- "gg" ',motion-name))))
-
-(defmacro evil-beginend--define-goto-end-motion (ec-mode-name)
- "Macro to define new Evil motion that will use the corresponding
-beginend-goto-end function for EC-MODE-NAME when count is not
-provided for the motion; otherwise behave like `evil-goto-line'
-if count is provided.
-
-This will also associate the regular Evil `G' keybinding with the
-newly defined motion."
- (let ((motion-name (intern (format "evil-beginend-%s-goto-end" ec-mode-name)))
- (beginend-end-fn-name (intern (format "beginend-%s-goto-end" ec-mode-name)))
- (beginend-map-name (intern (format "beginend-%s-map" ec-mode-name))))
- `(progn
- (declare-function ,motion-name "evil-collection")
- (declare-function ,beginend-end-fn-name "ext:beginend")
- (evil-define-motion ,motion-name (count)
- :jump t
- :type line
- (if count
- (evil-goto-line count)
- (,beginend-end-fn-name)))
- (evil-collection-define-key 'normal ',beginend-map-name
- "G" ',motion-name))))
-
-(defmacro evil-beginend--define-mode-motions ()
- "Define the goto-beginning and goto-end motions for all modes in
-`evil-collection-beginend-modes'."
- `(progn
- ,@(mapcar
- (lambda (mode-symbol)
- (let ((mode-string (symbol-name mode-symbol)))
- `(progn
- (evil-beginend--define-goto-beginning-motion ,mode-string)
- (evil-beginend--define-goto-end-motion ,mode-string))))
- evil-collection-beginend-modes)))
-
-;;;###autoload
-(defun evil-collection-beginend-setup ()
- "Set up `evil' bindings for `beginend'."
- (evil-beginend--define-mode-motions))
-
-(provide 'evil-collection-beginend)
-;;; evil-collection-beginend.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/bluetooth/evil-collection-bluetooth.el b/.config/emacs/lisp/evil-collection/modes/bluetooth/evil-collection-bluetooth.el
deleted file mode 100644
index 8d18604..0000000
--- a/.config/emacs/lisp/evil-collection/modes/bluetooth/evil-collection-bluetooth.el
+++ /dev/null
@@ -1,59 +0,0 @@
-;;; evil-collection-bluetooth.el --- Bindings for `bluetooth' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 Arian Dehghani
-
-;; Author: Arian Dehghani <arianxdehghani@gmail.com>
-;; Maintainer: Arian Dehghani <arianxdehghani@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, tools, blutooth
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `bluetooth'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'bluetooth nil t)
-
-(defvar bluetooth-mode-map)
-
-(defconst evil-collection-bluetooth-maps '(bluetooth-mode-map))
-
-;;;###autoload
-(defun evil-collection-bluetooth-setup ()
- "Set up `evil' bindings for `bluetooth'."
- (evil-collection-set-readonly-bindings 'bluetooth-mode-map)
- (evil-collection-define-key 'normal 'bluetooth-mode-map
- "c" 'bluetooth-connect
- "d" 'bluetooth-disconnect
- "b" 'bluetooth-toggle-blocked
- "t" 'bluetooth-toggle-trusted
- "a" 'bluetooth-set-alias
- "r" 'bluetooth-start-discovery
- "R" 'bluetooth-stop-discovery
- "s" 'bluetooth-toggle-powered
- "P" 'bluetooth-pair
- "D" 'bluetooth-toggle-discoverable
- "x" 'bluetooth-toggle-pairable
- "i" 'bluetooth-show-device-info
- "A" 'bluetooth-show-adapter-info
- "K" 'bluetooth-remove-device
- "<" 'bluetooth-beginning-of-list
- ">" 'bluetooth-end-of-list))
-
-(provide 'evil-collection-bluetooth)
-;;; evil-collection-bluetooth.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/bm/evil-collection-bm.el b/.config/emacs/lisp/evil-collection/modes/bm/evil-collection-bm.el
deleted file mode 100644
index d4470f5..0000000
--- a/.config/emacs/lisp/evil-collection/modes/bm/evil-collection-bm.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; evil-collection-bm.el --- Evil bindings for bm -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, bm, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for bm.
-
-;;; Code:
-(require 'evil-collection)
-(require 'bm nil t)
-
-(defconst evil-collection-bm-maps '(bm-show-mode-map))
-
-;;;###autoload
-(defun evil-collection-bm-setup ()
- "Set up `evil' bindings for `bm'."
- (evil-set-initial-state 'bm-show-mode 'normal)
-
- (evil-collection-define-key 'normal 'bm-show-mode-map
- "q" 'bm-show-quit-window
- "gr" 'revert-buffer
- "g?" 'describe-mode
-
- "j" 'bm-show-next
- "k" 'bm-show-prev
-
- ;; open
- (kbd "RET") 'bm-show-goto-bookmark
- (kbd "S-<return>") 'bm-show-bookmark))
-
-
-(provide 'evil-collection-bm)
-;;; evil-collection-bm.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/bookmark/README.org b/.config/emacs/lisp/evil-collection/modes/bookmark/README.org
deleted file mode 100644
index 5d3aa8e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/bookmark/README.org
+++ /dev/null
@@ -1,36 +0,0 @@
-* bookmark
-
- Evil bindings for the bookmark list (=bookmark-bmenu-mode=).
-
- Standard motion / quit bindings come from =evil-collection-set-readonly-bindings=
- and are not repeated below.
-
-** Key bindings
-
- | Command | Original | Evil |
- |---------------------------------------+-----------------+------------------------------|
- | =bookmark-bmenu-this-window= | =RET=, =f=, =j= | =RET= |
- | =bookmark-bmenu-other-window= | =o= | =o=, =go=, =S-RET= |
- | =bookmark-bmenu-switch-other-window= | =C-o= | =gO=, =M-RET= |
- | =bookmark-bmenu-select= | =v= | =o= (see above; =v= unbound) |
- | =bookmark-bmenu-1-window= | =1= | =1= |
- | =bookmark-bmenu-2-window= | =2= | =2= |
- | =bookmark-bmenu-other-frame= | =5= | =5= |
- | =bookmark-bmenu-delete= | =d=, =k= | =d= |
- | =bookmark-bmenu-delete-backwards= | =C-d= | =D= |
- | =bookmark-bmenu-execute-deletions= | =x= | =x= |
- | =bookmark-bmenu-search= | =/= | =s= (=s= also via custom) |
- | =bookmark-bmenu-rename= | =r= | =r= |
- | =bookmark-bmenu-relocate= | =R= | =R= |
- | =bookmark-bmenu-load= | =l= | =L= |
- | =bookmark-bmenu-save= | =s= | =s=, remap of =evil-write= |
- | =bookmark-bmenu-toggle-filenames= | =t= | =t= |
- | =bookmark-bmenu-locate= | =w= | =W= |
- | =bookmark-bmenu-show-annotation= | =a= | =a= |
- | =bookmark-bmenu-show-all-annotations= | =A= | =A= |
- | =bookmark-bmenu-edit-annotation= | =e= | =E= |
- | =bookmark-bmenu-mark= | =m= | =m= |
- | =bookmark-bmenu-mark-all= | =M= | =M= |
- | =bookmark-bmenu-unmark= | =u= | =u= |
- | =bookmark-bmenu-unmark-all= | =U= | =U= |
- | =bookmark-bmenu-backup-unmark= | =DEL= | =DEL= |
diff --git a/.config/emacs/lisp/evil-collection/modes/bookmark/evil-collection-bookmark.el b/.config/emacs/lisp/evil-collection/modes/bookmark/evil-collection-bookmark.el
deleted file mode 100644
index f21ad32..0000000
--- a/.config/emacs/lisp/evil-collection/modes/bookmark/evil-collection-bookmark.el
+++ /dev/null
@@ -1,78 +0,0 @@
-;;; evil-collection-bookmark.el --- Evil bindings for bookmarks -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, bookmark, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for bookmarks.
-
-;;; Code:
-(require 'evil-collection)
-(require 'bookmark)
-
-(defconst evil-collection-bookmark-maps '(bookmark-bmenu-mode-map))
-
-;;;###autoload
-(defun evil-collection-bookmark-setup ()
- "Set up `evil' bindings for `bookmark'."
- (evil-set-initial-state 'bookmark-bmenu-mode 'normal)
- (evil-collection-set-readonly-bindings 'bookmark-bmenu-mode-map)
- (evil-collection-define-key 'normal 'bookmark-bmenu-mode-map
- [remap evil-write] 'bookmark-bmenu-save
-
- "1" 'bookmark-bmenu-1-window
- "2" 'bookmark-bmenu-2-window
- "5" 'bookmark-bmenu-other-frame
- "d" 'bookmark-bmenu-delete
- "x" 'bookmark-bmenu-execute-deletions
- "s" 'bookmark-bmenu-search
- "r" 'bookmark-bmenu-rename
- "R" 'bookmark-bmenu-relocate
- "L" 'bookmark-bmenu-load
- "t" 'bookmark-bmenu-toggle-filenames
- "W" 'bookmark-bmenu-locate
- "D" 'bookmark-bmenu-delete-backwards
-
- ;; annotation
- "a" 'bookmark-bmenu-show-annotation
- "A" 'bookmark-bmenu-show-all-annotations
- "E" 'bookmark-bmenu-edit-annotation
-
- ;; mark
- "u" 'bookmark-bmenu-unmark
- "U" 'bookmark-bmenu-unmark-all
- "m" 'bookmark-bmenu-mark
- "M" 'bookmark-bmenu-mark-all
-
- ;; open
- "o" 'bookmark-bmenu-select
- "O" 'bookmark-bmenu-other-window
- "go" 'bookmark-bmenu-other-window
- "gO" 'bookmark-bmenu-switch-other-window
- (kbd "DEL") 'bookmark-bmenu-backup-unmark
- (kbd "RET") 'bookmark-bmenu-this-window
- (kbd "S-<return>") 'bookmark-bmenu-other-window
- (kbd "M-<return>") 'bookmark-bmenu-switch-other-window))
-
-(provide 'evil-collection-bookmark)
-;;; evil-collection-bookmark.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/buff-menu/README.org b/.config/emacs/lisp/evil-collection/modes/buff-menu/README.org
deleted file mode 100644
index b048631..0000000
--- a/.config/emacs/lisp/evil-collection/modes/buff-menu/README.org
+++ /dev/null
@@ -1,35 +0,0 @@
-* buff-menu
-
- Evil bindings for the buffer list (=Buffer-menu-mode=).
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------------------+-----------------+--------------------|
- | =Buffer-menu-this-window= | =RET=, =f=, =e= | =RET=, =go=, =C-m= |
- | =Buffer-menu-other-window= | =o= | =gO= |
- | =Buffer-menu-select= | =v= | =gv= |
- | =Buffer-menu-view= | =V= | =gV= |
- | =Buffer-menu-delete= | =d=, =k= | =d=, =C-k= |
- | =Buffer-menu-delete-backwards= | =C-d= | =C-d= |
- | =Buffer-menu-execute= | =x= | =x= |
- | =Buffer-menu-save= | =s= | =s= |
- | =Buffer-menu-bury= | =b= | =X= |
- | =Buffer-menu-mark= | =m= | =m= |
- | =Buffer-menu-unmark= | =u= | =u= |
- | =Buffer-menu-unmark-all= | =U= | =U= |
- | =Buffer-menu-backup-unmark= | =DEL= | =DEL= |
- | =Buffer-menu-not-modified= | =~= | =~= |
- | =Buffer-menu-toggle-read-only= | =%= | =%= |
- | =Buffer-menu-toggle-files-only= | =T= | =T= |
- | =Buffer-menu-visit-tags-table= | =t= | =t= |
- | =tabulated-list-sort= | =S= | =o= |
- | =revert-buffer= | =g= | =gr= |
- | =evil-visual-char= | n/a | =v= |
- | =quit-window= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
- | =Buffer-menu-1-window= | =1= | =1= |
- | =Buffer-menu-2-window= | =2= | =2= |
- | =Buffer-menu-isearch-buffers= | =M-s a C-s= | =M-s a C-s= |
- | =Buffer-menu-isearch-buffers-regexp= | =M-s a M-C-s= | =M-s a M-C-s= |
- | =Buffer-menu-multi-occur= | =M-s a C-o= | =M-s a C-o= |
diff --git a/.config/emacs/lisp/evil-collection/modes/buff-menu/evil-collection-buff-menu.el b/.config/emacs/lisp/evil-collection/modes/buff-menu/evil-collection-buff-menu.el
deleted file mode 100644
index a754978..0000000
--- a/.config/emacs/lisp/evil-collection/modes/buff-menu/evil-collection-buff-menu.el
+++ /dev/null
@@ -1,78 +0,0 @@
-;;; evil-collection-buff-menu.el --- Bindings for `buff-menu' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `buff-menu'.
-
-;;; Code:
-(require 'evil-collection)
-
-(defconst evil-collection-buff-menu-maps '(Buffer-menu-mode-map))
-
-;;;###autoload
-(defun evil-collection-buff-menu-setup ()
- "Set up `evil' bindings for `buff-menu'.."
- (evil-set-initial-state 'Buffer-menu-mode 'normal)
-
- (evil-collection-define-key 'normal 'Buffer-menu-mode-map
- "ZQ" 'evil-quit
- "ZZ" 'quit-window
- "gr" 'revert-buffer
- "go" 'Buffer-menu-this-window
- "gO" 'Buffer-menu-other-window
- "d" 'Buffer-menu-delete
- "s" 'Buffer-menu-save
- [mouse-2] 'Buffer-menu-mouse-select
- [follow-link] 'mouse-face
- "x" 'Buffer-menu-execute
- "o" 'tabulated-list-sort
- "gv" 'Buffer-menu-select
- "gV" 'Buffer-menu-view
- "v" 'evil-visual-char
-
- ;; mark
- "u" 'Buffer-menu-unmark
- "U" 'Buffer-menu-unmark-all
- "m" 'Buffer-menu-mark
-
- "X" 'Buffer-menu-bury
-
- ;; Default ones, unchanged. Redundant ones commented
- "2" 'Buffer-menu-2-window
- "1" 'Buffer-menu-1-window
- (kbd "C-m") 'Buffer-menu-this-window
- (kbd "C-k") 'Buffer-menu-delete
- (kbd "C-d") 'Buffer-menu-delete-backwards
- (kbd "<delete>") 'Buffer-menu-backup-unmark
- "~" 'Buffer-menu-not-modified
- "t" 'Buffer-menu-visit-tags-table
- "%" 'Buffer-menu-toggle-read-only
- "T" 'Buffer-menu-toggle-files-only
- (kbd "M-s a C-s") 'Buffer-menu-isearch-buffers
- (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp
- (kbd "M-s a C-o") 'Buffer-menu-multi-occur))
-
-(provide 'evil-collection-buff-menu)
-;;; evil-collection-buff-menu.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/bufler/evil-collection-bufler.el b/.config/emacs/lisp/evil-collection/modes/bufler/evil-collection-bufler.el
deleted file mode 100644
index 85aa748..0000000
--- a/.config/emacs/lisp/evil-collection/modes/bufler/evil-collection-bufler.el
+++ /dev/null
@@ -1,57 +0,0 @@
-;;; evil-collection-bufler.el --- Evil bindings for mpdel -*- lexical-binding: t -*-
-
-;; Copyright (C) 2023 Ruoyu Feng
-
-;; Author: Ruoyu Feng <mail@vonfry.name>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, tools, bufler, buffer list
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for bufler.
-
-;;; Code:
-
-(require 'bufler nil t)
-(require 'evil-collection)
-
-(defvar bufler-list-mode-map)
-
-(defconst evil-collection-bufler-maps '(bufler-list-mode-map))
-
-(defconst evil-collection-bufler-modes '(bufler-list-mode))
-
-;;;###autoload
-(defun evil-collection-bufler-setup ()
- "Set up `evil' bindings for `bufler'."
-
- (evil-collection-set-readonly-bindings 'bufler-list-mode-map)
- (dolist (mode evil-collection-bufler-modes)
- (evil-set-initial-state mode 'normal))
- (evil-collection-define-key 'normal 'bufler-list-mode-map
- "?" 'hydra:bufler/body
- "B" 'bufler
- "f" 'bufler-list-group-frame
- "F" 'bufler-list-group-make-frame
- "r" 'bufler-list-buffer-name-workspace
- "D" 'bufler-list-buffer-kill
- "w" 'bufler-list-buffer-save
- (kbd "RET") 'bufler-list-buffer-switch
- "J" 'bufler-list-buffer-peek))
-
-(provide 'evil-collection-bufler)
-;;; evil-collection-bufler.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/calc/README.org b/.config/emacs/lisp/evil-collection/modes/calc/README.org
deleted file mode 100644
index 97a2e1b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/calc/README.org
+++ /dev/null
@@ -1,52 +0,0 @@
-* calc
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/calc/index.html][calc]].
-
- Standard motion / quit bindings come from =evil-collection-set-readonly-bindings=
- and are not repeated below. Calc's =calc-ext= prefix maps (=V=, =Y=, =Z=, =a=,
- =b=, =c=, =f=, =g=, =m=, =r=, =s=, =t=, =v=) are kept on their original keys;
- prefixes that conflict with evil motions are relocated.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-----------------------------+--------------------------+---------------------------|
- | =calc-enter= | =RET= | =RET=, =SPC= |
- | =calc-over= | =C-j= | =S-RET= |
- | =calc-roll-down= | =TAB= | =TAB= |
- | =calc-roll-up= | =M-TAB= | =C-M-i= |
- | =calc-pop= | =DEL=, =<delete>=, =C-d= | =DEL=, =<delete>= |
- | =calc-pop-above= | =M-DEL=, =M-d= | =M-DEL=, =C-M-d= |
- | =calc-kill= | =C-k= | =d= |
- | =calc-kill-region= (visual) | =C-w= | =d= |
- | =calc-yank= | =C-y= | =pp= |
- | =calc-copy-to-buffer= | =y= | =pP= |
- | =calc-copy-as-kill= | =M-k= | =M-k= |
- | =calc-copy-region-as-kill= | =M-w= | =M-w= |
- | =calc-undo= | =U= | =u= |
- | =calc-redo= | =D= | =D= (via prefix relocate) |
- | =calc-precision= | =p= | =C-p= |
- | =calc-call-last-kbd-macro= | =X= | =X= |
- | =calc-help= | =?= | =?= |
- | =calc-info= | =i= | =i= |
- | =calc-quit= | =q= | =q= |
- | =calc-last-args= | =M-RET= | =M-RET= |
- | =calc-percent= | =M-%= | =M-%= |
- | =calc-transpose-lines= | =C-x C-t= | =C-x C-t= |
- | =calc-total-algebraic-mode= | =m t= | =M-m t= |
-
-** Relocated prefix maps
-
- Calc prefixes are moved off keys that conflict with evil motion or operators:
-
- | Original prefix | Evil prefix |
- |-----------------+-------------|
- | =d= | =D= |
- | =j= | =zj= |
- | =k= | =zk= |
- | =l= | =zl= |
- | =u= | =U= |
- | =z= | =zz= |
-
- All operator / digit / symbol keys (=+=, =-=, =*=, =/=, digits, =A=–=T=, =[[=,
- =]]=, etc.) keep their default calc bindings.
diff --git a/.config/emacs/lisp/evil-collection/modes/calc/evil-collection-calc.el b/.config/emacs/lisp/evil-collection/modes/calc/evil-collection-calc.el
deleted file mode 100644
index 8f35b98..0000000
--- a/.config/emacs/lisp/evil-collection/modes/calc/evil-collection-calc.el
+++ /dev/null
@@ -1,172 +0,0 @@
-;;; evil-collection-calc.el --- Evil bindings for calc -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>, Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, calc, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for calc.
-
-;;; Code:
-(require 'evil-collection)
-(require 'calc)
-
-(defconst evil-collection-calc-maps '(calc-mode-map))
-
-;;;###autoload
-(defun evil-collection-calc-setup ()
- "Set up `evil' bindings for `calc'."
- (evil-collection-set-readonly-bindings 'calc-mode-map)
- (evil-set-initial-state 'calc-mode 'normal)
-
- ;; Calc sets up its bindings just-in-time for its "extensions". I don't think
- ;; it's worth copying this clumsy design (for what performance benefit?),
- ;; while making the bindings much harder to maintain.
- (require 'calc-ext)
-
- (evil-collection-define-key 'normal 'calc-mode-map
- "0" 'calcDigit-start
- "1" 'calcDigit-start
- "2" 'calcDigit-start
- "3" 'calcDigit-start
- "4" 'calcDigit-start
- "5" 'calcDigit-start
- "6" 'calcDigit-start
- "7" 'calcDigit-start
- "8" 'calcDigit-start
- "9" 'calcDigit-start
-
- (kbd "<tab>") 'calc-roll-down
- (kbd "S-<return>") 'calc-over
- (kbd "RET") 'calc-enter
- (kbd "SPC") 'calc-enter
-
- (kbd "C-x C-t") 'calc-transpose-lines
- (kbd "C-M-d") 'calc-pop-above
- (kbd "C-M-i") 'calc-roll-up
- (kbd "M-RET") 'calc-last-args
- (kbd "C-M-w") 'kill-ring-save
- (kbd "M-%") 'calc-percent
- (kbd "M-k") 'calc-copy-as-kill
- (kbd "M-w") 'calc-copy-region-as-kill
- (kbd "M-DEL") 'calc-pop-above
- (kbd "M-m t") 'calc-total-algebraic-mode
- (kbd "<delete>") 'calc-pop
- (kbd "<mouse-2>") 'calc-yank
- (kbd "DEL") 'calc-pop ; was "C-d"
- "d" 'calc-kill ; was "C-k"
- "u" 'calc-undo ; was "U"
- "X" 'calc-call-last-kbd-macro ; "@" is already used.
- "pp" 'calc-yank ; was "C-y"
- "pP" 'calc-copy-to-buffer ; was "y"
-
- (kbd "C-p") 'calc-precision ; was "p"
-
- "?" 'calc-help
- ;; "h" 'calc-help-prefix ; TODO: Rebind?
- "i" 'calc-info
-
- "\"" 'calc-auto-algebraic-entry
- "$" 'calc-auto-algebraic-entry ; TODO: No need for this one?
- "'" 'calc-algebraic-entry
-
- "!" 'calc-factorial
- "#" 'calcDigit-start
- "%" 'calc-mod
- "&" 'calc-inv
- "(" 'calc-begin-complex
- ")" 'calc-end-complex
- "*" 'calc-times
- "+" 'calc-plus
- "," 'calc-comma
- "-" 'calc-minus
- "." 'calcDigit-start
- "/" 'calc-divide
- ":" 'calc-fdiv
- ";" 'calc-semi ; TODO: Shall we really override `evil-ex'?
- "<" 'calc-scroll-left
- "=" 'calc-evaluate
- ">" 'calc-scroll-right
- "@" 'calcDigit-start
- "A" 'calc-abs
- "B" 'calc-log
- "C" 'calc-cos
- ;; "D" 'calc-redo ; TODO: What's the purpose of this? Bind to C-r?
- "E" 'calc-exp
- "F" 'calc-floor
- "G" 'calc-argument
- "H" 'calc-hyperbolic
- "I" 'calc-inverse
- "J" 'calc-conj
- "K" 'calc-keep-args
- "L" 'calc-ln
- "M" 'calc-more-recursion-depth
- "N" 'calc-eval-num
- "O" 'calc-option
- "P" 'calc-pi
- "Q" 'calc-sqrt
- "R" 'calc-round
- "S" 'calc-sin
- "T" 'calc-tan
- "[[" 'calc-begin-vector
- "]]" 'calc-end-vector
- "\\" 'calc-idiv
- "^" 'calc-power
- "_" 'calcDigit-start
- "`" 'calc-edit
- "e" 'calcDigit-start
- "n" 'calc-change-sign
- "o" 'calc-realign
- "w" 'calc-why
- "x" 'calc-execute-extended-command
- "|" 'calc-concat
- "{" 'calc-scroll-down ; TODO: Not necessary?
- "}" 'calc-scroll-up ; TODO: Not necessary?
- "~" 'calc-num-prefix
-
- "V" (lookup-key calc-mode-map (kbd "V"))
- "Y" (lookup-key calc-mode-map (kbd "Y"))
- "Z" (lookup-key calc-mode-map (kbd "Z"))
- "a" (lookup-key calc-mode-map (kbd "a"))
- "b" (lookup-key calc-mode-map (kbd "b"))
- "c" (lookup-key calc-mode-map (kbd "c"))
- "D" (lookup-key calc-mode-map (kbd "d"))
- "f" (lookup-key calc-mode-map (kbd "f"))
- "g" (lookup-key calc-mode-map (kbd "g"))
- "zj" (lookup-key calc-mode-map (kbd "j"))
- "zk" (lookup-key calc-mode-map (kbd "k"))
- "zl" (lookup-key calc-mode-map (kbd "l"))
- "m" (lookup-key calc-mode-map (kbd "m"))
- "r" (lookup-key calc-mode-map (kbd "r"))
- "s" (lookup-key calc-mode-map (kbd "s"))
- "t" (lookup-key calc-mode-map (kbd "t"))
- "U" (lookup-key calc-mode-map (kbd "u"))
- "v" (lookup-key calc-mode-map (kbd "v"))
- "zz" (lookup-key calc-mode-map (kbd "z"))
-
- ;; quit
- "q" 'calc-quit)
-
- (evil-collection-define-key 'visual 'calc-mode-map
- "d" 'calc-kill-region))
-
-(provide 'evil-collection-calc)
-;;; evil-collection-calc.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/calendar/README.org b/.config/emacs/lisp/evil-collection/modes/calendar/README.org
deleted file mode 100644
index 2733b42..0000000
--- a/.config/emacs/lisp/evil-collection/modes/calendar/README.org
+++ /dev/null
@@ -1,63 +0,0 @@
-* calendar
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Calendar_002fDiary.html][calendar]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------------------+----------------+---------------------|
- | =calendar-backward-day= | =C-b=, =left= | =h= |
- | =calendar-forward-day= | =C-f=, =right= | =l= |
- | =calendar-backward-week= | =C-p=, =up= | =k= |
- | =calendar-forward-week= | =C-n=, =down= | =j= |
- | =calendar-beginning-of-week= | =C-a= | =0=, =^= |
- | =calendar-end-of-week= | =C-e= | =$= |
- | =calendar-beginning-of-month= | =M-a= | =(= |
- | =calendar-end-of-month= | =M-e= | =)= |
- | =calendar-backward-month= | =M-{= | ={=, =C-k=, =gk= |
- | =calendar-forward-month= | =M-}= | =}=, =C-j=, =gj= |
- | =calendar-backward-year= | =C-x [= | =[[= |
- | =calendar-forward-year= | =C-x ]= | =]]= |
- | =calendar-beginning-of-year= | =M-<= | =M-<= |
- | =calendar-end-of-year= | =M->= | =M->= |
- | =calendar-scroll-right= | =>=, =C-x <= | =<= |
- | =calendar-scroll-left= | =<=, =C-x >= | =>= |
- | =calendar-scroll-right-three-months= | =M-v=, =prior= | =C-b= |
- | =calendar-scroll-left-three-months= | =C-v=, =next= | =C-f= |
- | =scroll-other-window= | =SPC= | =SPC= |
- | =scroll-other-window-down= | =S-SPC=, =DEL= | =S-SPC=, =<delete>= |
- | =calendar-set-mark= | =C-SPC= | =v= |
- | =calendar-goto-today= | =.= | =.= |
- | =calendar-other-month= | =o= | =o=, =gD= |
- | =calendar-goto-date= | =g d= | =gd= |
- | =diary-view-entries= | =d= | =d= |
- | =diary-view-other-diary-entries= | =D= | =D= |
- | =diary-mark-entries= | =m= | =m= |
- | =diary-show-all-entries= | =s= | =s= |
- | =appt-add= | =A a= | =Aa= |
- | =appt-delete= | =A d= | =Ad= |
- | =calendar-unmark= | =u= | =u= |
- | =calendar-mark-holidays= | =x= | =x= |
- | =calendar-list-holidays= | =a= | =a=, =gh= |
- | =calendar-cursor-holidays= | =h= | =r= |
- | =calendar-lunar-phases= | =M= | =gm= |
- | =calendar-sunrise-sunset= | =S= | =gs= |
- | =org-calendar-goto-agenda= | n/a | =gc= |
- | =calendar-redraw= | =C-c C-l= | =gr= |
- | =calendar-goto-info-node= | =?= | =?=, =g?= |
- | =calendar-count-days-region= | =M-== | =M-== |
- | =calendar-exit= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
-
-** Org integration
-
- When =evil-collection-calendar-want-org-bindings= is non-nil, the key named by
- =org-calendar-to-agenda-key= (default =c=) is bound to =org-calendar-goto-agenda=,
- and =org-calendar-insert-diary-entry-key= (default =i=) to =org-agenda-diary-entry=
- when =org-agenda-diary-file= is set.
-
-** Customization
-
- | Variable | Default | Purpose |
- |----------------------------------------------+---------+---------------------------------------------|
- | =evil-collection-calendar-want-org-bindings= | =nil= | Install =org-calendar-*= bindings on entry. |
diff --git a/.config/emacs/lisp/evil-collection/modes/calendar/evil-collection-calendar.el b/.config/emacs/lisp/evil-collection/modes/calendar/evil-collection-calendar.el
deleted file mode 100644
index 81464a8..0000000
--- a/.config/emacs/lisp/evil-collection/modes/calendar/evil-collection-calendar.el
+++ /dev/null
@@ -1,146 +0,0 @@
-;;; evil-collection-calendar.el --- Evil bindings for calendar -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, calendar, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for the calendar.
-
-;;; Code:
-(require 'calendar)
-(require 'evil-collection)
-
-(defconst evil-collection-calendar-maps '(calendar-mode-map))
-
-(defun evil-collection-calendar-setup-org-bindings ()
- "Bind Org functions to Calendar keymap."
- (require 'org)
- (require 'org-agenda)
- (defvar org-calendar-to-agenda-key)
- (defvar org-agenda-diary-file)
- (defvar org-calendar-insert-diary-entry-key)
-
- (let ((key (pcase org-calendar-to-agenda-key
- ((and key (pred stringp)) key)
- ;; The default value of `org-calendar-to-agenda-key' is [?c] in Org 9.1
- ;; We do make a minimal compatibility support for vector of integers.
- ((and key (pred vectorp)) (mapconcat (lambda (x) (format "%c" x)) key ""))
- ((and (pred symbolp) 'default) "c")
- (_ ""))))
- (evil-collection-define-key 'normal 'calendar-mode-map
- (kbd key) 'org-calendar-goto-agenda))
-
- ;; Similar to `org-calendar-to-agenda-key'.
- (unless (eq org-agenda-diary-file 'diary-file)
- (let ((key (pcase org-calendar-insert-diary-entry-key
- ((and key (pred stringp)) key)
- ((and key (pred vectorp)) (mapconcat (lambda (x) (format "%c" x)) key ""))
- ;; NOTE Consistent behavior with `org-calendar-to-agenda-key'
- ;; although it's not supported in Org officially.
- ((and (pred symbolp) 'default) "i")
- (_ ""))))
- (evil-collection-define-key 'normal 'calendar-mode-map
- (kbd key) 'org-agenda-diary-entry))))
-
-;; Otherwise it will load tons of org stuff at startup.
-(defvar evil-collection-calendar-want-org-bindings)
-(when evil-collection-calendar-want-org-bindings
- (add-hook 'calendar-mode-hook #'evil-collection-calendar-setup-org-bindings))
-
-;;;###autoload
-(defun evil-collection-calendar-setup ()
- "Set up `evil' bindings for `calendar'."
- (evil-set-initial-state 'calendar-mode 'normal)
- (evil-collection-define-key 'normal 'calendar-mode-map
- ;; motion
- "h" 'calendar-backward-day
- "j" 'calendar-forward-week
- "k" 'calendar-backward-week
- "l" 'calendar-forward-day
- "0" 'calendar-beginning-of-week
- "^" 'calendar-beginning-of-week
- "$" 'calendar-end-of-week
- "[[" 'calendar-backward-year
- "]]" 'calendar-forward-year
- (kbd "M-<") 'calendar-beginning-of-year
- (kbd "M->") 'calendar-end-of-year
- "(" 'calendar-beginning-of-month
- ")" 'calendar-end-of-month
- (kbd "SPC") 'scroll-other-window
- (kbd "S-SPC") 'scroll-other-window-down
- (kbd "<delete>") 'scroll-other-window-down
- "<" 'calendar-scroll-right
- ">" 'calendar-scroll-left
- (kbd "C-b") 'calendar-scroll-right-three-months
- (kbd "C-f") 'calendar-scroll-left-three-months
- "{" 'calendar-backward-month
- "}" 'calendar-forward-month
- (kbd "C-k") 'calendar-backward-month
- (kbd "C-j") 'calendar-forward-month
- "gk" 'calendar-backward-month
- "gj" 'calendar-forward-month
-
- ;; visual
- "v" 'calendar-set-mark
-
- ;; goto
- "." 'calendar-goto-today
- "o" 'calendar-other-month
- "gd" 'calendar-goto-date ; "gd" in evil-org-agenda, "gd" in Emacs.
- "gD" 'calendar-other-month
-
- ;; diary
- "D" 'diary-view-other-diary-entries
- "d" 'diary-view-entries
- "m" 'diary-mark-entries
- "s" 'diary-show-all-entries
-
- ;; appointment
- "Aa" 'appt-add
- "Ad" 'appt-delete
-
- "u" 'calendar-unmark
- "x" 'calendar-mark-holidays
-
- ;; show
- "gm" 'calendar-lunar-phases ; "gm" in evil-org-agenda. TODO: Shadows calendar-mayan.
- "gs" 'calendar-sunrise-sunset ; "gs" in evil-org-agenda
- "gh" 'calendar-list-holidays ; "gh" in evil-org-agenda. TODO: Shadows calendar-hebrew.
- "gc" 'org-calendar-goto-agenda ; "gc" in evil-org-agenda. TODO: Shadows calendar-iso.
- "a" 'calendar-list-holidays
- "r" 'calendar-cursor-holidays
-
- ;; refresh
- "gr" 'calendar-redraw
-
- "g?" 'calendar-goto-info-node
- "?" 'calendar-goto-info-node ; Search is not very useful.
- (kbd "M-=") 'calendar-count-days-region
-
- ;; quit
- "q" 'calendar-exit
- "ZQ" 'evil-quit
- "ZZ" 'calendar-exit))
-
-(provide 'evil-collection-calendar)
-;;; evil-collection-calendar.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/cider/README.org b/.config/emacs/lisp/evil-collection/modes/cider/README.org
deleted file mode 100644
index a72a3a7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/cider/README.org
+++ /dev/null
@@ -1,164 +0,0 @@
-* cider
-
- Evil bindings for [[https://github.com/clojure-emacs/cider][CIDER]].
-
- The bulk of CIDER's commands live under the =C-c= prefix in =cider-mode-map=
- -- those are left alone. Evil only adds vim-style navigation, doc lookup and
- the debugger keys.
-
-** cider-mode-map
-
- | Command | Original | Evil |
- |----------------------------------+---------------+-----------|
- | =cider-switch-to-repl-buffer= | =C-c C-z= | =gz= |
- | =cider-find-resource= | =C-c M-.= | =gf= |
- | =cider-doc= | =C-c C-d C-d= | =K= |
- | =cider-find-var= | =M-.= | =gd= ([[#xref][†]]) |
- | =cider-pop-back= | =M-,= | =C-t= ([[#xref][†]]) |
- | =cider-browse-instrumented-defs= | n/a | =<f6>= |
- | =cider-debug-defun-at-point= | =C-u C-M-x= | =<f9>= |
-
- The =<f6>= / =<f9>= bindings only fire when
- =evil-collection-setup-debugger-keys= is non-nil.
-
-** cider-repl-mode-map
-
- | Command | Original | Evil |
- |---------------------------------------+---------------+----------------------------------------------|
- | =cider-switch-to-last-clojure-buffer= | =C-c C-z= | =gz= |
- | =cider-refresh= | =C-c M-n r= | =gr= |
- | =cider-find-resource= | =C-c M-.= | =gf= |
- | =cider-doc= | =C-c C-d C-d= | =K= |
- | =cider-find-var= | =M-.= | =gd= ([[#xref][†]]) |
- | =cider-pop-back= | =M-,= | =C-t= ([[#xref][†]]) |
- | =cider-repl-return= | =RET= | =RET= in =evil-collection-repl-submit-state= |
- | =newline= | =C-j= | =RET= in the opposite state |
-
- See =evil-collection-repl-submit-state= (normal or insert) for which state
- submits.
-
-** cider-repl-history-mode-map
-
- | Command | Original | Evil |
- |----------------------------------------+----------+-------------------|
- | =cider-repl-history-previous= | =p= | =C-k=, =gk=, =[[= |
- | =cider-repl-history-forward= | =n= | =C-j=, =gj=, =]]= |
- | =cider-repl-history-insert-and-quit= | =RET= | =RET= |
- | =cider-repl-history-update= | =g= | =gr= |
- | =cider-repl-history-quit= | =q= | =q= |
- | =cider-repl-history-undo-other-window= | =U= | =u= |
-
-** cider-test-report-mode-map
-
- | Command | Original | Evil |
- |------------------------------------+------------+--------------------|
- | =cider-test-commands-map= | n/a | =C-c ,=, =C-c C-t= |
- | =cider-test-previous-result= | n/a | =M-p=, =<backtab>= |
- | =cider-test-next-result= | =TAB= | =M-n=, =<tab>= |
- | =cider-test-jump= | =t=, =RET= | =gd=, =t=, =RET= |
- | =cider-test-ediff= | =d= | =d= |
- | =cider-test-stacktrace= | =e= | =e= |
- | =cider-test-rerun-failed-tests= | =f= | =f= |
- | =cider-test-run-ns-tests= | =n= | =n= |
- | =cider-test-run-loaded-tests= | =l= | =L= |
- | =cider-test-run-project-tests= | =p= | =p= |
- | =cider-test-run-test= | =g= | =gr= |
- | =cider-popup-buffer-quit-function= | n/a | =q= |
-
-** cider-macroexpansion-mode-map
-
- | Command | Original | Evil |
- |--------------------------------------------+----------+-------------|
- | =cider-popup-buffer-quit-function= | n/a | =q= |
- | =cider-macroexpand-again= | =g= | =r= |
- | =cider-doc= | =d= | =K= |
- | =cider-javadoc= | =j= | =J= |
- | =cider-find-var= / =xref-find-definitions= | =.= | =.= |
- | =cider-macroexpand-1-inplace= | =m= | =m= |
- | =cider-macroexpand-all-inplace= | =a= | =a= |
- | =cider-macroexpand-undo= | =u= | =u=, =undo= |
-
-** cider-connections-buffer-mode-map
-
- | Command | Original | Evil |
- |--------------------------------------+----------+-------|
- | =cider-connections-make-default= | n/a | =d= |
- | =cider-connection-browser= | n/a | =c= |
- | =cider-connections-close-connection= | n/a | =x= |
- | =cider-connections-goto-connection= | n/a | =RET= |
- | =describe-mode= | n/a | =g?= |
-
-** cider-stacktrace-mode-map
-
- Initial evil state is forced to normal.
-
- | Command | Original | Evil |
- |----------------------------------------+----------+-------------------|
- | =cider-stacktrace-previous-cause= | n/a | =C-k=, =gk=, =[[= |
- | =cider-stacktrace-next-cause= | n/a | =C-j=, =gj=, =]]= |
- | =cider-stacktrace-jump= | n/a | =gd= |
- | =cider-popup-buffer-quit-function= | =q= | =q= |
- | =cider-stacktrace-toggle-java= | =j= | =J= |
- | =cider-stacktrace-toggle-clj= | =c= | =C= |
- | =cider-stacktrace-toggle-repl= | =r= | =R= |
- | =cider-stacktrace-toggle-tooling= | =t= | =T= |
- | =cider-stacktrace-toggle-duplicates= | =d= | =D= |
- | =cider-stacktrace-show-only-project= | =p= | =P= |
- | =cider-stacktrace-toggle-all= | =a= | =A= |
- | =cider-stacktrace-cycle-cause-1..5= | =1..5= | =1..5= |
- | =cider-stacktrace-cycle-all-causes= | =0= | =0=, =<backtab>= |
- | =cider-stacktrace-cycle-current-cause= | =TAB= | =TAB= |
-
-** cider-inspector-mode-map
-
- | Command | Original | Evil |
- |-----------------------------------------------+--------------+--------------|
- | =quit-window= | n/a | =q= |
- | =cider-inspector-operate-on-point= | =RET= | =RET= |
- | =cider-inspector-pop= | =l= | =L= |
- | =cider-inspector-refresh= | =g= | =gr= |
- | =cider-inspector-next-page= | =SPC= | =C-j=, =SPC= |
- | =cider-inspector-prev-page= | =S-SPC= | =C-k= |
- | =cider-inspector-set-page-size= | =s= | =s= |
- | =cider-inspector-next-inspectable-object= | =n=, =TAB= | =]]=, =gj= |
- | =cider-inspector-previous-inspectable-object= | =p=, =S-TAB= | =[[=, =gk= |
-
-** cider--debug-mode-map
-
- Only active when =evil-collection-setup-debugger-keys= is non-nil. Each key
- sends a reply through =cider-debug-mode-send-reply=.
-
- | Command | Reply | Evil |
- |----------------------------------------------+-------------------+------|
- | =cider-debug-defun-at-point= | (re-instrument) | =b= |
- | =evil-collection-cider-debug-continue= | =:continue= | =c= |
- | =evil-collection-cider-debug-continue-all= | =:continue-all= | =C= |
- | =evil-collection-cider-debug-next= | =:next= | =n= |
- | =evil-collection-cider-debug-in= | =:in= | =I= |
- | =evil-collection-cider-debug-out= | =:out= | =o= |
- | =evil-collection-cider-debug-force-out= | =:force-out= | =O= |
- | =cider-debug-move-here= | (move here) | =H= |
- | =evil-collection-cider-debug-eval= | =:eval= | =e= |
- | =evil-collection-cider-debug-inspect= | =:inspect= | =p= |
- | =evil-collection-cider-debug-inspect-prompt= | =:inspect-prompt= | =P= |
- | =evil-collection-cider-debug-locals= | =:locals= | =L= |
- | =evil-collection-cider-debug-inject= | =:inject= | =J= |
- | =evil-collection-cider-debug-stacktrace= | =:stacktrace= | =s= |
- | =evil-collection-cider-debug-trace= | =:trace= | =t= |
- | =evil-collection-cider-debug-quit= | =:quit= | =q= |
-
-** New commands
-
- | Command | Purpose |
- |-----------------------------------+------------------------------------------------------------------------------------------------------|
- | =evil-collection-cider-debug-*= | One per cider-debug reply keyword (see =cider--debug-mode-map=). |
- | =evil-collection-cider-last-sexp= | Advice for =cider-eval-last-sexp= so the last sexp ends at point when =evil-move-beyond-eol= is nil. |
-
-** Xref fallbacks
- :PROPERTIES:
- :CUSTOM_ID: xref
- :END:
-
- =gd= / =C-t= are only bound when =cider-use-xref= is nil. With xref enabled
- the user already has =M-.= / =M-,= going through =xref-find-definitions= and
- nothing extra is added.
diff --git a/.config/emacs/lisp/evil-collection/modes/cider/evil-collection-cider.el b/.config/emacs/lisp/evil-collection/modes/cider/evil-collection-cider.el
deleted file mode 100644
index e8ec712..0000000
--- a/.config/emacs/lisp/evil-collection/modes/cider/evil-collection-cider.el
+++ /dev/null
@@ -1,253 +0,0 @@
-;;; evil-collection-cider.el --- Evil bindings for Cider -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2024 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, cider, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Cider.
-
-;;; Code:
-(require 'cl-lib)
-(require 'cider nil t)
-(require 'evil-collection)
-
-(defvar cider-use-xref)
-
-(declare-function cider-debug-mode-send-reply "cider-debug")
-
-(defconst evil-collection-cider-maps '(cider-mode-map
- cider-repl-mode-map
- cider-repl-history-mode-map
- cider-test-report-mode-map
- cider-macroexpansion-mode-map
- cider-connections-buffer-mode-map))
-
-(defun evil-collection-cider-last-sexp (command &rest args)
- "In normal-state or motion-state, last sexp ends at point."
- (if (and (not evil-move-beyond-eol)
- (or (evil-normal-state-p) (evil-motion-state-p)))
- (save-excursion
- (unless (or (eobp) (eolp)) (forward-char))
- (apply command args))
- (apply command args)))
-
-(defmacro evil-collection-cider-make-debug-command (&rest cider-commands)
- "Make functions that wrap `cider-debug' commands.
-
-Cider debug commands are sent through `cider-debug-mode-send-reply'.
-
-ex. \(cider-debug-mode-send-reply \":next\"\)"
- (let ((commands (if (consp cider-commands)
- cider-commands
- (list cider-commands))))
- `(progn
- ,@(cl-loop
- for command in commands
- collect
- (let ((funsymbol
- (intern (format "evil-collection-cider-debug-%s" command))))
- `(defun ,funsymbol ()
- ,(format
- "Send :%s to `cider-debug-mode-send-reply'." command)
- (interactive)
- (cider-debug-mode-send-reply ,(format ":%s" command))))))))
-
-(evil-collection-cider-make-debug-command "continue"
- "continue-all"
- "next"
- "in"
- "out"
- "force-out"
- "eval"
- "inspect"
- "inspect-prompt"
- "locals"
- "inject"
- "stacktrace"
- "trace"
- "quit")
-
-;;;###autoload
-(defun evil-collection-cider-setup ()
- "Set up `evil' bindings for `cider'."
- (unless evil-move-beyond-eol
- (advice-add 'cider-eval-last-sexp :around 'evil-collection-cider-last-sexp)
- (advice-add 'cider-eval-last-sexp-and-replace :around 'evil-collection-cider-last-sexp)
- (advice-add 'cider-eval-last-sexp-to-repl :around 'evil-collection-cider-last-sexp)
- (with-eval-after-load 'cider-eval-sexp-fu
- (advice-add 'cider-esf--bounds-of-last-sexp :around 'evil-collection-cider-last-sexp)))
-
- (when evil-collection-setup-debugger-keys
- (add-hook 'cider-mode-hook #'evil-normalize-keymaps)
- (add-hook 'cider--debug-mode-hook #'evil-normalize-keymaps)
- (evil-collection-define-key 'normal 'cider-mode-map
- [f6] 'cider-browse-instrumented-defs
- [f9] 'cider-debug-defun-at-point)
-
- (evil-collection-define-key 'normal 'cider--debug-mode-map
- "b" 'cider-debug-defun-at-point
- "c" 'evil-collection-cider-debug-continue
- "C" 'evil-collection-cider-debug-continue-all
- "n" 'evil-collection-cider-debug-next
- "I" 'evil-collection-cider-debug-in
- "o" 'evil-collection-cider-debug-out
- "O" 'evil-collection-cider-debug-force-out
- "H" 'cider-debug-move-here
- "e" 'evil-collection-cider-debug-eval
- "p" 'evil-collection-cider-debug-inspect
- "P" 'evil-collection-cider-debug-inspect-prompt
- "L" 'evil-collection-cider-debug-locals
- "J" 'evil-collection-cider-debug-inject
- "s" 'evil-collection-cider-debug-stacktrace
- "t" 'evil-collection-cider-debug-trace
- "q" 'evil-collection-cider-debug-quit))
-
- (evil-collection-define-key '(normal visual) 'cider-mode-map
- "gz" 'cider-switch-to-repl-buffer
- "gf" 'cider-find-resource
- "K" 'cider-doc)
-
- (unless cider-use-xref
- (evil-collection-define-key '(normal visual) 'cider-mode-map
- "gd" 'cider-find-var
- (kbd "C-t") 'cider-pop-back))
-
- (evil-collection-define-key '(normal visual) 'cider-repl-mode-map
- ;; FIXME: This seems to get overwritten by `cider-switch-to-repl-buffer'.
- "gz" 'cider-switch-to-last-clojure-buffer
- "gr" 'cider-refresh
- "gf" 'cider-find-resource
- "K" 'cider-doc)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'cider-repl-mode-map
- (kbd "RET") 'cider-repl-return)
- (evil-collection-define-key newline-state 'cider-repl-mode-map
- (kbd "RET") 'newline))
-
- (unless cider-use-xref
- (evil-collection-define-key '(normal visual) 'cider-repl-mode-map
- "gd" 'cider-find-var
- (kbd "C-t") 'cider-pop-back))
-
- (evil-collection-define-key '(normal visual) 'cider-repl-history-mode-map
- (kbd "C-k") 'cider-repl-history-previous
- (kbd "C-j") 'cider-repl-history-forward
- "gk" 'cider-repl-history-previous
- "gj" 'cider-repl-history-forward
- "[[" 'cider-repl-history-previous
- "]]" 'cider-repl-history-forward
-
- (kbd "RET") 'cider-repl-history-insert-and-quit
- "gr" 'cider-repl-history-update
- "q" 'cider-repl-history-quit
- "u" 'cider-repl-history-undo-other-window)
-
- (evil-collection-define-key 'normal 'cider-test-report-mode-map
- (kbd "C-c ,") 'cider-test-commands-map
- (kbd "C-c C-t") 'cider-test-commands-map
- (kbd "M-p") 'cider-test-previous-result
- (kbd "M-n") 'cider-test-next-result
-
- ;; goto
- "gd" 'cider-test-jump
-
- (kbd "<backtab>") 'cider-test-previous-result
- (kbd "<tab>") 'cider-test-next-result
- (kbd "RET") 'cider-test-jump
- "t" 'cider-test-jump
- "d" 'cider-test-ediff
- "e" 'cider-test-stacktrace
- "f" 'cider-test-rerun-failed-tests
- "n" 'cider-test-run-ns-tests
- "L" 'cider-test-run-loaded-tests
- "p" 'cider-test-run-project-tests
- "gr" 'cider-test-run-test
- "q" 'cider-popup-buffer-quit-function)
-
- (evil-collection-define-key 'normal 'cider-macroexpansion-mode-map
- ;; quit
- "q" 'cider-popup-buffer-quit-function
-
- "r" 'cider-macroexpand-again
- "K" 'cider-doc ; Evil has `evil-lookup'.
- "J" 'cider-javadoc
- "." (if cider-use-xref 'xref-find-definitions 'cider-find-var)
- "m" 'cider-macroexpand-1-inplace
- "a" 'cider-macroexpand-all-inplace
- "u" 'cider-macroexpand-undo
- [remap undo] 'cider-macroexpand-undo)
-
- (evil-collection-define-key 'normal 'cider-connections-buffer-mode-map
- "d" 'cider-connections-make-default
- "c" 'cider-connection-browser
- "x" 'cider-connections-close-connection
- (kbd "RET") 'cider-connections-goto-connection
- "g?" 'describe-mode)
-
- (evil-set-initial-state 'cider-stacktrace-mode 'normal)
- (evil-collection-define-key 'normal 'cider-stacktrace-mode-map
- (kbd "C-k") 'cider-stacktrace-previous-cause
- (kbd "C-j") 'cider-stacktrace-next-cause
- (kbd "gk") 'cider-stacktrace-previous-cause
- (kbd "gj") 'cider-stacktrace-next-cause
- (kbd "[[") 'cider-stacktrace-previous-cause
- (kbd "]]") 'cider-stacktrace-next-cause
- "gd" 'cider-stacktrace-jump
- "q" 'cider-popup-buffer-quit-function
- "J" 'cider-stacktrace-toggle-java
- "C" 'cider-stacktrace-toggle-clj
- "R" 'cider-stacktrace-toggle-repl
- "T" 'cider-stacktrace-toggle-tooling
- "D" 'cider-stacktrace-toggle-duplicates
- "P" 'cider-stacktrace-show-only-project
- "A" 'cider-stacktrace-toggle-all
- "1" 'cider-stacktrace-cycle-cause-1
- "2" 'cider-stacktrace-cycle-cause-2
- "3" 'cider-stacktrace-cycle-cause-3
- "4" 'cider-stacktrace-cycle-cause-4
- "5" 'cider-stacktrace-cycle-cause-5
- "0" 'cider-stacktrace-cycle-all-causes
- (kbd "TAB") 'cider-stacktrace-cycle-current-cause
- [backtab] 'cider-stacktrace-cycle-all-causes)
-
- (add-hook 'cider-inspector-mode-hook #'evil-normalize-keymaps)
- (evil-collection-define-key 'normal 'cider-inspector-mode-map
- "q" 'quit-window
- (kbd "RET") 'cider-inspector-operate-on-point
- [mouse-1] 'cider-inspector-operate-on-click
- "L" 'cider-inspector-pop
- "gr" 'cider-inspector-refresh
- ;; Page-up/down
- (kbd "C-j") 'cider-inspector-next-page
- (kbd "C-k") 'cider-inspector-prev-page
- " " 'cider-inspector-next-page
- "s" 'cider-inspector-set-page-size
- (kbd "]]") 'cider-inspector-next-inspectable-object
- (kbd "[[") 'cider-inspector-previous-inspectable-object
- "gj" 'cider-inspector-next-inspectable-object
- "gk" 'cider-inspector-previous-inspectable-object))
-
-(provide 'evil-collection-cider)
-;;; evil-collection-cider.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/citre/evil-collection-citre.el b/.config/emacs/lisp/evil-collection/modes/citre/evil-collection-citre.el
deleted file mode 100644
index 2bce581..0000000
--- a/.config/emacs/lisp/evil-collection/modes/citre/evil-collection-citre.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; evil-collection-citre.el --- Bindings for `citre' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, citre, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `citre'
-
-;;; Code:
-(require 'evil-collection)
-
-(defun evil-collection-citre-set-bindings ()
- "Set jump point for citre commands."
- (dolist (cmd '(citre-jump
- citre-query-jump
- citre-jump-to-reference
- citre-query-jump-to-reference))
- (evil-declare-not-repeat cmd)
- (evil-set-command-property cmd :jump t)))
-
-;;;###autoload
-(defun evil-collection-citre-setup ()
- "Set up `evil' bindings for `citre'."
- (evil-collection-citre-set-bindings))
-
-(provide 'evil-collection-citre)
-;;; evil-collection-citre.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/cmake-mode/README.org b/.config/emacs/lisp/evil-collection/modes/cmake-mode/README.org
deleted file mode 100644
index d7a7975..0000000
--- a/.config/emacs/lisp/evil-collection/modes/cmake-mode/README.org
+++ /dev/null
@@ -1,13 +0,0 @@
-* cmake-mode
-
- Evil setup for [[https://gitlab.kitware.com/cmake/cmake][cmake-mode]]. No key
- rebindings -- only =evil-shift-width= is aligned to =cmake-tab-width=.
-
-** New commands
-
- | Command | Purpose |
- |---------------------------------------------------+------------------------------------------------------|
- | =evil-collection-cmake-mode-set-evil-shift-width= | Buffer-local =evil-shift-width= = =cmake-tab-width=. |
-
- Hooked to =cmake-mode-hook= so =>=, =<= and friends indent by the same width
- cmake-mode uses.
diff --git a/.config/emacs/lisp/evil-collection/modes/cmake-mode/evil-collection-cmake-mode.el b/.config/emacs/lisp/evil-collection/modes/cmake-mode/evil-collection-cmake-mode.el
deleted file mode 100644
index 5b0113e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/cmake-mode/evil-collection-cmake-mode.el
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; evil-collection-cmake-mode.el --- Bindings for `cmake-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `cmake-mode'
-
-;;; Code:
-(require 'evil-collection)
-(require 'cmake-mode nil t)
-
-(defvar cmake-tab-width)
-(defun evil-collection-cmake-mode-set-evil-shift-width ()
- "Set `evil-shift-width' according to `cmake-tab-with'."
- (setq-local evil-shift-width cmake-tab-width))
-
-;;;###autoload
-(defun evil-collection-cmake-mode-setup ()
- "Set up `evil' bindings for `cmake-mode'."
- (add-hook 'cmake-mode-hook #'evil-collection-cmake-mode-set-evil-shift-width))
-
-(provide 'evil-collection-cmake-mode)
-;;; evil-collection-cmake-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/color-rg/evil-collection-color-rg.el b/.config/emacs/lisp/evil-collection/modes/color-rg/evil-collection-color-rg.el
deleted file mode 100644
index 5a53b25..0000000
--- a/.config/emacs/lisp/evil-collection/modes/color-rg/evil-collection-color-rg.el
+++ /dev/null
@@ -1,71 +0,0 @@
-;;; evil-collection-color-rg.el --- Bindings for color-rg -*- lexical-binding: t -*-
-
-;; Copyright (C) 2023 Mumulhl
-
-;; Author: Mumulhl <mumu-lhl@tuta.io>
-;; Maintainer: Mumulhl <mumu-lhl@tuta.io>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for color-rg.
-
-;;; Code:
-(require 'evil-collection)
-(require 'color-rg nil t)
-
-(defvar color-rg-mode-map)
-(defconst evil-collection-color-rg-maps '(color-rg-mode-map))
-
-;;;###autoload
-(defun evil-collection-color-rg-setup ()
- "Set up `evil' bindings for color-rg."
- (evil-collection-define-key 'normal 'color-rg-mode-map
- (kbd "<backtab>") 'color-rg-jump-prev-keyword
- (kbd "<tab>") 'color-rg-jump-next-keyword
- "C" 'color-rg-rerun-toggle-case
- (kbd "C-a") 'color-rg-beginning-of-line
- "D" 'color-rg-remove-line-from-results
- "E" 'color-rg-rerun-change-exclude-files
- "F" 'color-rg-filter-mismatch-results
- "G" 'color-rg-rerun-change-globs
- "I" 'color-rg-rerun-toggle-ignore
- "L" 'color-rg-rerun-literal
- "N" 'color-rg-rerun-toggle-node
- "O" 'color-rg-rerun-in-project
- "R" 'color-rg-rerun-regexp
- (kbd "RET") 'color-rg-open-file-and-stay
- "S" 'color-rg-customized-search
- (kbd "SPC") 'color-rg-open-file
- "X" 'color-rg-filter-mismatch-files
- "e" 'color-rg-switch-to-edit-mode
- "f" 'color-rg-filter-match-results
- "h" 'color-rg-jump-next-file
- "i" 'color-rg-insert-current-line
- "j" 'color-rg-jump-next-keyword
- "k" 'color-rg-jump-prev-keyword
- "l" 'color-rg-jump-prev-file
- "o" 'color-rg-rerun-in-parent-dir
- "q" 'color-rg-quit
- "r" 'color-rg-replace-all-matches
- "s" 'color-rg-rerun-change-dir
- "u" 'color-rg-unfilter
- "x" 'color-rg-filter-match-files))
-
-(provide 'evil-collection-color-rg)
-;;; evil-collection-color-rg.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/comint/README.org b/.config/emacs/lisp/evil-collection/modes/comint/README.org
deleted file mode 100644
index 0b03dd2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/comint/README.org
+++ /dev/null
@@ -1,29 +0,0 @@
-* comint
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Comint.html][comint-mode]], the base mode for many Emacs shells and
- REPLs (shell, inferior-lisp, sql, python, etc.). Bindings here propagate to
- every derived mode that does not override them.
-
-** Key bindings
-
- Normal-state additions to =comint-mode-map=:
-
- | Command | Original | Evil |
- |--------------------------+-----------+-------------------------------------|
- | =comint-next-prompt= | =C-c C-n= | =C-j=, =gj=, =]]= |
- | =comint-previous-prompt= | =C-c C-p= | =C-k=, =gk=, =[[= |
- | =comint-previous-input= | =M-p= | =C-p= |
- | =comint-next-input= | =M-n= | =C-n= |
- | =evil-scroll-down= | n/a | =C-d= (when =evil-want-C-d-scroll=) |
-
- Insert state:
-
- | Command | Original | Evil |
- |-------------------------+-----------+-------------------------------------|
- | =comint-previous-input= | =M-p= | =<up>= |
- | =comint-next-input= | =M-n= | =<down>= |
- | =comint-kill-input= | =C-c C-u= | =C-u= (when =evil-want-C-u-delete=) |
-
- =RET= sends input in the state named by =evil-collection-repl-submit-state=
- and inserts a newline in the complementary state (both =RET= and =C-m= /
- =[return]= are wired).
diff --git a/.config/emacs/lisp/evil-collection/modes/comint/evil-collection-comint.el b/.config/emacs/lisp/evil-collection/modes/comint/evil-collection-comint.el
deleted file mode 100644
index 40d0a00..0000000
--- a/.config/emacs/lisp/evil-collection/modes/comint/evil-collection-comint.el
+++ /dev/null
@@ -1,74 +0,0 @@
-;;; evil-collection-comint.el --- Bindings for `comint-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, comint, processes
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `comint-mode'.
-
-;;; Code:
-(require 'comint)
-(require 'evil-collection)
-
-(defconst evil-collection-comint-maps '(comint-mode-map))
-
-;;;###autoload
-(defun evil-collection-comint-setup ()
- "Set up `evil' bindings for `comint'."
- (when evil-want-C-d-scroll
- (evil-collection-define-key 'normal 'comint-mode-map
- (kbd "C-d") #'evil-scroll-down))
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'comint-mode-map
- (kbd "RET") #'comint-send-input
- (kbd "\C-m") #'comint-send-input
- [return] #'comint-send-input)
- (evil-collection-define-key newline-state 'comint-mode-map
- (kbd "RET") #'newline
- (kbd "\C-m") #'newline
- [return] #'newline))
-
- (evil-collection-define-key 'normal 'comint-mode-map
- ;; Match Eshell bindings:
- (kbd "C-j") #'comint-next-prompt
- (kbd "C-k") #'comint-previous-prompt
- (kbd "gj") #'comint-next-prompt
- (kbd "gk") #'comint-previous-prompt
- (kbd "]]") #'comint-next-prompt
- (kbd "[[") #'comint-previous-prompt
- (kbd "C-p") #'comint-previous-input
- (kbd "C-n") #'comint-next-input)
-
- ;; TODO: What if the user changes `evil-want-C-u-delete' after this is run?
- (when evil-want-C-u-delete
- (evil-collection-define-key 'insert 'comint-mode-map
- (kbd "C-u") #'comint-kill-input))
-
- (evil-collection-define-key 'insert 'comint-mode-map
- (kbd "<up>") #'comint-previous-input
- (kbd "<down>") #'comint-next-input))
-
-(provide 'evil-collection-comint)
-;;; evil-collection-comint.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/company/README.org b/.config/emacs/lisp/evil-collection/modes/company/README.org
deleted file mode 100644
index 22c1d84..0000000
--- a/.config/emacs/lisp/evil-collection/modes/company/README.org
+++ /dev/null
@@ -1,51 +0,0 @@
-* company
-
- Evil bindings for [[https://github.com/company-mode/company-mode][company-mode]].
- Bindings are installed without an explicit state so they apply whenever the
- company overlay is active.
-
-** company-active-map
-
- | Command | Original | Evil |
- |------------------------------------+----------+-------------------------------------|
- | =company-select-next-or-abort= | =C-n= | =C-n=, =C-j= |
- | =company-select-previous-or-abort= | =C-p= | =C-p=, =C-k= |
- | =company-select-next= | n/a | =M-j= |
- | =company-select-previous= | n/a | =M-k= |
- | =company-previous-page= | =M-<= | =C-u= (when =evil-want-C-u-scroll=) |
- | =company-next-page= | =M->= | =C-d= (when =evil-want-C-d-scroll=) |
-
- With =evil-collection-want-company-extended-keybindings= (vim's =C-x ...=
- completion family):
-
- | Command | Evil |
- |---------------------------------------+-------|
- | =evil-collection-company-whole-lines= | =C-l= |
- | =company-etags= | =C-]= |
- | =company-files= | =C-f= |
- | =company-capf= | =C-o= |
- | =company-ispell= | =C-s= |
-
-** company-search-map
-
- | Command | Original | Evil |
- |------------------------------------+----------+------------|
- | =company-select-next-or-abort= | =C-n= | =C-j= |
- | =company-select-previous-or-abort= | =C-p= | =C-k= |
- | =company-select-next= | n/a | =M-j= |
- | =company-select-previous= | n/a | =M-k= |
- | =company-search-abort= | =C-g= | =<escape>= |
-
-** New commands
-
- | Command | Purpose |
- |---------------------------------------+------------------------------------------------|
- | =evil-collection-company-whole-lines= | Whole-line completion backend (vim =C-x C-l=). |
-
-** Customization
-
- | Variable | Default | Purpose |
- |-----------------------------------------------------+--------------------------+--------------------------------------------------------------------------------------------------|
- | =evil-collection-company-supported-states= | =(insert replace emacs)= | Evil states in which company is allowed to pop up. |
- | =evil-collection-want-company-extended-keybindings= | =nil= | Enable the vim-style =C-x= completion bindings above. |
- | =evil-collection-company-enable-keymap-protection= | =t= | Re-install =company-active-map= after =company-doc-buffer= et al. so evil does not eat the keys. |
diff --git a/.config/emacs/lisp/evil-collection/modes/company/evil-collection-company.el b/.config/emacs/lisp/evil-collection/modes/company/evil-collection-company.el
deleted file mode 100644
index 7042221..0000000
--- a/.config/emacs/lisp/evil-collection/modes/company/evil-collection-company.el
+++ /dev/null
@@ -1,138 +0,0 @@
-;;; evil-collection-company.el --- Bindings for `company-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, company, abbrev, convenience, matching
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `company-mode'.
-
-;;; Code:
-(require 'company nil t)
-(require 'evil-collection)
-
-(declare-function company-tng-mode "company-tng")
-(declare-function company-grab-line "company")
-(declare-function company-begin-backend "company")
-(declare-function company-ensure-emulation-alist "company")
-
-(defgroup evil-collection-company nil
- "Evil bindings for `company-mode'."
- :group 'evil-collection)
-
-(defcustom evil-collection-company-supported-states '(insert replace emacs)
- "The `evil-state's which `company' function can be requested."
- :type '(repeat symbol))
-(defcustom evil-collection-want-company-extended-keybindings nil
- "The \='evil-company-extended' keybindings should be requested"
- :type 'boolean)
-
-(defcustom evil-collection-company-enable-keymap-protection t
- "Prevent evil from breaking company completion keymap.
-When non-nil, prevents evil from overriding `company-active-map'
-after calling `company-doc-buffer'. If disabled, the completion
-keymap will be in a broken state."
- :type 'boolean)
-
-(defvar company-active-map)
-(defvar company-search-map)
-
-(defconst evil-collection-company-maps '(company-active-map company-search-map))
-
-(defun evil-collection-company-supported-p (command &rest _)
- "Return non-nil if `evil-state' is in supported states."
- (cond
- ((not (bound-and-true-p evil-mode)) t)
- ((eq command 'prefix)
- (memq evil-state evil-collection-company-supported-states))
- (t t)))
-
-(defun evil-collection-company-protect-keymap ()
- "Prevent evil from overriding `company-mode' completion keymap."
- (when (and evil-collection-company-enable-keymap-protection
- (memq 'company-emulation-alist emulation-mode-map-alists))
- (company-ensure-emulation-alist)))
-
-;;;###autoload
-(defun evil-collection-company-whole-lines (command &optional arg &rest _ignored)
- "`company-mode' completion backend that completes whole-lines, akin to vim's
-C-x C-l."
- (interactive (list 'interactive))
- (require 'company)
- (pcase command
- (`interactive (company-begin-backend 'evil-collection-company-whole-lines))
- (`prefix (company-grab-line "^[\t\s]*\\(.+\\)" 1))
- (`candidates
- (all-completions
- arg
- (delete-dups
- (split-string
- (replace-regexp-in-string
- "^[\t\s]+" ""
- (concat (buffer-substring-no-properties (point-min) (line-beginning-position))
- (buffer-substring-no-properties (line-end-position) (point-max))))
- "\\(\r\n\\|[\n\r]\\)" t))))))
-
-;;;###autoload
-(defun evil-collection-company-setup ()
- "Set up `evil' bindings for `company'."
- (evil-collection-define-key nil 'company-active-map
- (kbd "C-n") 'company-select-next-or-abort
- (kbd "C-p") 'company-select-previous-or-abort
- (kbd "C-j") 'company-select-next-or-abort
- (kbd "C-k") 'company-select-previous-or-abort
- (kbd "M-j") 'company-select-next
- (kbd "M-k") 'company-select-previous)
-
- (when evil-collection-want-company-extended-keybindings
- (evil-collection-define-key nil 'company-active-map
- (kbd "C-l") 'evil-collection-company-whole-lines
- (kbd "C-]") 'company-etags
- (kbd "C-f") 'company-files
- (kbd "C-o") 'company-capf
- (kbd "C-s") 'company-ispell))
-
- (when evil-want-C-u-scroll
- (evil-collection-define-key nil 'company-active-map
- (kbd "C-u") 'company-previous-page))
-
- (when evil-want-C-d-scroll
- (evil-collection-define-key nil 'company-active-map
- (kbd "C-d") 'company-next-page))
-
- (evil-collection-define-key nil 'company-search-map
- (kbd "C-j") 'company-select-next-or-abort
- (kbd "C-k") 'company-select-previous-or-abort
- (kbd "M-j") 'company-select-next
- (kbd "M-k") 'company-select-previous
- (kbd "<escape>") 'company-search-abort)
-
- ;; https://github.com/emacs-evil/evil-collection/issues/664
- (add-hook 'evil-local-mode-hook #'evil-collection-company-protect-keymap)
-
- ;; Make `company-mode' not show popup when not in supported state
- (advice-add 'company-call-backend
- :before-while 'evil-collection-company-supported-p))
-
-
-(provide 'evil-collection-company)
-;;; evil-collection-company.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/compile/README.org b/.config/emacs/lisp/evil-collection/modes/compile/README.org
deleted file mode 100644
index c8e3c60..0000000
--- a/.config/emacs/lisp/evil-collection/modes/compile/README.org
+++ /dev/null
@@ -1,18 +0,0 @@
-* compile
-
- Evil bindings for =compilation-mode= and =compilation-minor-mode=.
-
- Standard motion / quit bindings come from =evil-collection-set-readonly-bindings=
- and are not repeated below.
-
-** Key bindings
-
- | Command | Original | Evil |
- |------------------------------+------------------+------------------------|
- | =compile-goto-error= | =RET=, =C-c C-c= | =RET= |
- | =compilation-display-error= | =C-o= | =go=, =M-RET=, =S-RET= |
- | =compilation-next-error= | =M-n= | =TAB=, =gj=, =C-j= |
- | =compilation-previous-error= | =M-p= | =S-TAB=, =gk=, =C-k= |
- | =compilation-next-file= | =M-}= | =]]= |
- | =compilation-previous-file= | =M-{= | =[[= |
- | =recompile= | =g= | =gr= |
diff --git a/.config/emacs/lisp/evil-collection/modes/compile/evil-collection-compile.el b/.config/emacs/lisp/evil-collection/modes/compile/evil-collection-compile.el
deleted file mode 100644
index b59f9d4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/compile/evil-collection-compile.el
+++ /dev/null
@@ -1,67 +0,0 @@
-;;; evil-collection-compile.el --- Evil bindings for `compile' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, compile, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `compile'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'compile)
-
-(defconst evil-collection-compile-maps '(compilation-mode-map
- compilation-minor-mode-map))
-
-;;;###autoload
-(defun evil-collection-compile-setup ()
- "Set up `evil' bindings for `compile'."
- (evil-set-initial-state 'compilation-mode 'normal)
- (evil-collection-set-readonly-bindings 'compilation-mode-map)
-
- (dolist (keymap evil-collection-compile-maps)
-
- (evil-collection-define-key nil keymap
- "g" nil)
-
- (evil-collection-define-key 'normal keymap
- (kbd "RET") 'compile-goto-error
-
- "go" 'compilation-display-error
- (kbd "M-RET") 'compilation-display-error
- (kbd "M-<return>") 'compilation-display-error
- (kbd "S-<return>") 'compilation-display-error
-
- (kbd "TAB") 'compilation-next-error
- (kbd "S-TAB") 'compilation-previous-error
-
- "gj" 'compilation-next-error
- "gk" 'compilation-previous-error
- (kbd "C-j") 'compilation-next-error
- (kbd "C-k") 'compilation-previous-error
- "[[" 'compilation-previous-file
- "]]" 'compilation-next-file
- "gr" 'recompile)))
-
-(provide 'evil-collection-compile)
-;;; evil-collection-compile.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/consult/README.org b/.config/emacs/lisp/evil-collection/modes/consult/README.org
deleted file mode 100644
index c71d837..0000000
--- a/.config/emacs/lisp/evil-collection/modes/consult/README.org
+++ /dev/null
@@ -1,26 +0,0 @@
-* consult
-
- Evil bindings for [[https://github.com/minad/consult][consult]].
-
- No keymap is rebound. Setup marks a small set of jump-style commands as
- non-repeatable and registers them as evil jumps so =C-o= / =C-i= work after
- selection.
-
-** Jump commands
-
- The following are declared with =:jump t= and =evil-declare-not-repeat=:
-
- - =consult-outline=
- - =consult-mark=
- - =consult-global-mark=
- - =consult-imenu=
- - =consult-org-heading=
- - =consult-org-agenda=
- - =consult-line=
-
-** New commands
-
- | Command | Purpose |
- |-------------------------------------+---------------------------------------------------------------|
- | =evil-collection-consult-mark= | =consult-mark= over evil's per-buffer marker ring. |
- | =evil-collection-consult-jump-list= | =consult-global-mark= over the evil jump list of this window. |
diff --git a/.config/emacs/lisp/evil-collection/modes/consult/evil-collection-consult.el b/.config/emacs/lisp/evil-collection/modes/consult/evil-collection-consult.el
deleted file mode 100644
index f8b0e93..0000000
--- a/.config/emacs/lisp/evil-collection/modes/consult/evil-collection-consult.el
+++ /dev/null
@@ -1,123 +0,0 @@
-;;; evil-collection-consult.el --- Evil bindings for consult -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2024 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, consult, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `consult'.
-;;
-;; Since
-;;
-;; `consult-outline'
-;; `consult-mark'
-;; `consult-global-mark'
-;; `consult-imenu'
-;; `consult-org-heading'
-;; `consult-org-agenda'
-;; `consult-line'
-;;
-;; are all autoloaded, no (require 'consult nil t) is needed.
-
-;;; Code:
-(require 'evil-collection)
-
-(defvar consult-line-numbers-widen)
-(declare-function consult--forbid-minibuffer "consult")
-(declare-function consult--fontify-all "consult")
-(declare-function consult--in-range-p "consult")
-(declare-function consult--line-with-mark "consult")
-(declare-function consult--location-candidate "consult")
-(declare-function consult--remove-dups "consult")
-(declare-function consult--mark-candidates "consult")
-(declare-function consult-mark "consult")
-(declare-function consult-global-mark "consult")
-
-(defun evil-collection-consult-set-bindings ()
- "Set the bindings."
- (dolist (cmd '(consult-outline
- consult-mark
- consult-global-mark
- consult-imenu
- consult-org-heading
- consult-org-agenda
- consult-line))
- (evil-declare-not-repeat cmd)
- (evil-set-command-property cmd :jump t)))
-
-(defun evil-collection-consult--evil-mark-ring ()
- "Return alist of char & marker for evil markers in current buffer."
- (sort (cl-remove-if (lambda (elem)
- (or (evil-global-marker-p (car elem))
- (not (markerp (cdr-safe elem)))))
- evil-markers-alist)
- #'car-less-than-car))
-
-(defun evil-collection-consult--mark-candidates (&optional markers)
- "Return alist of lines containing markers from `evil-mark-alist'.
-Opional MARKERS should be an alist containing (char . marker) pairs
-as defined in `evil-collection-consult--evil-mark-ring'."
- (consult--forbid-minibuffer)
- (unless (evil-collection-consult--evil-mark-ring)
- (user-error "No marks"))
- (let* ((candidates)
- (current-buf (current-buffer)))
- (save-excursion
- (pcase-dolist (`(,char . ,marker) (or markers (evil-collection-consult--evil-mark-ring)))
- (let ((pos (marker-position marker))
- (buf (marker-buffer marker)))
- (when (and (eq buf current-buf)
- (consult--in-range-p pos))
- (goto-char pos)
- (push (consult--location-candidate
- (format "%s: %s" (char-to-string char) (consult--line-with-mark marker))
- marker
- (line-number-at-pos pos consult-line-numbers-widen)
- marker)
- candidates)))))
- (nreverse (delete-dups candidates))))
-
-;;;###autoload
-(defun evil-collection-consult-mark ()
- "Jump to an evil marker in the current buffer."
- (interactive)
- (cl-letf (((symbol-function 'consult--mark-candidates)
- #'evil-collection-consult--mark-candidates))
- (consult-mark (evil-collection-consult--evil-mark-ring))))
-
-;;;###autoload
-(defun evil-collection-consult-jump-list ()
- "Jump to a position in the evil jump list."
- (interactive)
- (consult-global-mark (delq nil (mapcar (lambda (jump)
- (let ((mark (car jump)))
- (when (markerp mark)
- mark)))
- (ring-elements (evil--jumps-get-window-jump-list))))))
-
-;;;###autoload
-(defun evil-collection-consult-setup ()
- "Set up `evil' bindings for `consult'."
- (evil-collection-consult-set-bindings))
-
-(provide 'evil-collection-consult)
-;;; evil-collection-consult.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/corfu/README.org b/.config/emacs/lisp/evil-collection/modes/corfu/README.org
deleted file mode 100644
index 71820eb..0000000
--- a/.config/emacs/lisp/evil-collection/modes/corfu/README.org
+++ /dev/null
@@ -1,54 +0,0 @@
-* corfu
-
- Evil bindings for [[https://github.com/minad/corfu][corfu]] in-buffer completion.
-
- Bindings apply in =insert= state on =corfu-map= and are gated by
- =evil-collection-corfu-key-themes=. Only =default= is enabled out of the box.
-
-** Key bindings
-
-*** default theme
-
- | Command | Original | Evil |
- |-----------------------------------------+----------+-------------------------------------|
- | =corfu-next= | =<down>= | =C-n=, =C-j=, =M-j=, =<down>= |
- | =corfu-previous= | =<up>= | =C-p=, =C-k=, =M-k=, =<up>= |
- | =corfu-insert= | =RET= | =RET= |
- | =corfu-complete= | =TAB= | =TAB= |
- | =corfu-quit= | =C-g= | =C-g= |
- | =evil-collection-corfu-quit-and-escape= | n/a | =<escape>= |
- | =corfu-scroll-up= | n/a | =C-d= (when =evil-want-C-u-scroll=) |
- | =corfu-scroll-down= | n/a | =C-u= (when =evil-want-C-d-scroll=) |
-
-*** tab-n-go theme
-
- Also sets =corfu-cycle= to =t= and =corfu-preselect= to =prompt=.
-
- | Command | Original | Evil |
- |------------------+----------+--------------------|
- | =corfu-next= | n/a | =TAB= |
- | =corfu-previous= | n/a | =S-TAB=, =backtab= |
-
-*** magic-return theme
-
- =RET= / =<return>= insert the candidate when one is selected, otherwise
- fall through to the buffer's default newline.
-
-*** magic-backspace theme
-
- =DEL= / =<backspace>= reset the selection when one is active, otherwise
- fall through.
-
-** New commands
-
- | Command | Purpose |
- |-----------------------------------------+----------------------------------------------------------|
- | =evil-collection-corfu-quit-and-escape= | =corfu-quit= then =evil-normal-state=. |
- | =evil-collection-corfu-insert-exact= | Insert current candidate with =exact= status, else quit. |
-
-** Customization
-
- | Variable | Default | Purpose |
- |------------------------------------------+------------------------------+-----------------------------------------------------------------------|
- | =evil-collection-corfu-key-themes= | =(default)= | Themes from =default=, =tab-n-go=, =magic-return=, =magic-backspace=. |
- | =evil-collection-corfu-supported-states= | =(insert replace emacs nil)= | Evil states in which =corfu= is allowed to run. |
diff --git a/.config/emacs/lisp/evil-collection/modes/corfu/evil-collection-corfu.el b/.config/emacs/lisp/evil-collection/modes/corfu/evil-collection-corfu.el
deleted file mode 100644
index f70dedc..0000000
--- a/.config/emacs/lisp/evil-collection/modes/corfu/evil-collection-corfu.el
+++ /dev/null
@@ -1,180 +0,0 @@
-;;; evil-collection-corfu.el --- Bindings for `corfu-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, corfu, convenience, matching
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `corfu-mode'.
-
-;;; Code:
-(require 'corfu nil t)
-(require 'evil-collection)
-
-(defgroup evil-collection-corfu nil
- "Evil bindings for `corfu-mode'."
- :group 'evil-collection)
-
-(defvar corfu-map)
-(defvar corfu-cycle)
-(defvar corfu-preselect)
-(defvar corfu--index)
-
-(declare-function corfu-insert "corfu")
-(declare-function corfu-reset "corfu")
-(declare-function corfu-quit "corfu")
-
-(defconst evil-collection-corfu-maps '(corfu-map))
-
-(defun evil-collection-corfu-quit-and-escape ()
- "Call `corfu-quit' and then return to Normal State."
- (interactive)
- (call-interactively 'corfu-quit)
- (evil-normal-state))
-
-;; https://github.com/minad/corfu/pull/169
-;; https://github.com/minad/corfu/pull/225
-(defun evil-collection-corfu-unread-this-command-keys ()
- (when (> (length (this-command-keys)) 0)
- (setq unread-command-events (nconc
- (listify-key-sequence (this-command-keys))
- unread-command-events))
- (clear-this-command-keys t)))
-
-(defun evil-collection-corfu-insert-exact ()
- "Insert current candidate with the `exact' status.
-Quit if no candidate is selected."
- (interactive)
- (if (>= corfu--index 0)
- (corfu--insert 'exact)
- (corfu-quit)))
-
-(defcustom evil-collection-corfu-key-themes '(default)
- "Determines the key theme to be mapped.
-
-This variable should be set before `evil-collection-corfu-setup' is called.
-
-By default, only default is added to this list as the other key themes might
-be too obtrusive.
-
-This key theme variable may be refactored in the future so use with caution."
- :type
- '(repeat
- :tag "Key Themes"
- (choice
- (const
- :tag "Default Theme" default)
- (const
- :tag "Tab & Go" tab-n-go)
- (const
- :tag "Magic Return" magic-return)
- (const
- :tag "Magic Backspace" magic-backspace))))
-
-(defcustom evil-collection-corfu-supported-states '(insert replace emacs nil)
- "The `evil-state's which `corfu' function can be requested."
- :type '(repeat symbol))
-
-;;;###autoload
-(defun evil-collection-corfu-setup ()
- "Set up `evil' bindings for `corfu'."
- (when (memq 'default evil-collection-corfu-key-themes)
- (evil-collection-define-key 'insert 'corfu-map
- (kbd "C-n") 'corfu-next
- (kbd "C-p") 'corfu-previous
- (kbd "C-j") 'corfu-next
- (kbd "C-k") 'corfu-previous
- (kbd "M-j") 'corfu-next
- (kbd "M-k") 'corfu-previous
- (kbd "<down>") 'corfu-next
- (kbd "<up>") 'corfu-previous
- (kbd "<escape>") 'evil-collection-corfu-quit-and-escape))
-
- ;; https://github.com/minad/corfu#tab-and-go-completion
- (when (memq 'tab-n-go evil-collection-corfu-key-themes)
- (setq corfu-cycle t
- corfu-preselect 'prompt)
- (evil-collection-define-key 'insert 'corfu-map
- (kbd "TAB") 'corfu-next
- [tab] 'corfu-next
- [S-tab] 'corfu-previous
- [backtab] 'corfu-previous))
-
- (when (memq 'magic-return evil-collection-corfu-key-themes)
- (defvar evil-collection-corfu-insert-or-next-line
- `(menu-item "" nil :filter ,(lambda (&optional _)
- (when (>= corfu--index 0)
- 'corfu-insert)))
- "If we made a selection during `corfu' completion, select it.")
- ;; FIXME: Not sure why we need to use `define-key' here instead of
- ;; `evil-collection-define-key';.
- (when (evil-collection-can-bind-key "<return>")
- (define-key corfu-map (kbd "<return>")
- evil-collection-corfu-insert-or-next-line))
- (when (evil-collection-can-bind-key "RET")
- (define-key corfu-map (kbd "RET")
- evil-collection-corfu-insert-or-next-line)))
-
- (when (memq 'magic-backspace evil-collection-corfu-key-themes)
- (defvar evil-collection-corfu-cancel-or-backspace
- `(menu-item "" nil :filter ,(lambda (&optional _)
- (when (>= corfu--index 0)
- 'corfu-reset)))
- "If we made a selection during `corfu' completion, cancel it.")
- (evil-collection-define-key 'insert
- 'corfu-map (kbd "DEL") evil-collection-corfu-cancel-or-backspace)
- (evil-collection-define-key 'insert
- 'corfu-map [backspace] evil-collection-corfu-cancel-or-backspace)
- (evil-collection-define-key 'insert
- 'corfu-map (kbd "<backspace>") evil-collection-corfu-cancel-or-backspace))
-
- (when evil-want-C-u-scroll
- (evil-collection-define-key 'insert 'corfu-map
- (kbd "C-d") 'corfu-scroll-up))
- (when evil-want-C-d-scroll
- (evil-collection-define-key 'insert 'corfu-map
- (kbd "C-u") 'corfu-scroll-down))
-
- (advice-add 'corfu--setup :after (lambda (&rest _) (evil-normalize-keymaps)))
- (advice-add 'corfu--teardown :after (lambda (&rest _) (evil-normalize-keymaps)))
- (advice-add 'corfu--continue-p
- :before-while (lambda (&rest _) (memq evil-state evil-collection-corfu-supported-states)))
-
- (cl-defmethod corfu--insert :around (status)
- (if (or (eq this-command 'evil-collection-corfu-insert-exact)
- (not (eq status 'exact)))
- (cl-call-next-method)
- (evil-collection-corfu-unread-this-command-keys)
- (setq this-command 'evil-collection-corfu-insert-exact)))
-
- (mapc #'evil-declare-ignore-repeat
- '(corfu-next
- corfu-previous
- corfu-first
- corfu-last))
-
- (mapc #'evil-declare-change-repeat
- '(evil-collection-corfu-insert-exact
- corfu-insert
- corfu-complete)))
-
-(provide 'evil-collection-corfu)
-;;; evil-collection-corfu.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/crdt/evil-collection-crdt.el b/.config/emacs/lisp/evil-collection/modes/crdt/evil-collection-crdt.el
deleted file mode 100644
index 25cd61f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/crdt/evil-collection-crdt.el
+++ /dev/null
@@ -1,57 +0,0 @@
-;;; evil-collection-crdt.el --- Bindings for `crdt' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 Arte Ebrahimi and Jonathan Ming
-
-;; Authors: Arte Ebrahimi <arteebrahimi@gmail.com> and Jonathan Ming <jming422@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for crdt.
-
-;;; Code:
-(require 'evil-collection)
-(require 'crdt nil t)
-
-(defvar crdt-mode-map)
-(defconst evil-collection-crdt-maps
- '(crdt-buffer-menu-mode-map crdt-session-menu-mode-map crdt-user-menu-mode-map crdt-read-settings-map))
-
-(defun evil-collection-crdt-setup ()
- "Set up `evil' bindings for crdt."
- (evil-collection-define-key 'normal 'crdt-buffer-menu-mode-map
- (kbd "RET") 'crdt-switch-to-buffer-other-window
- "x" 'crdt-stop-share-buffer)
-
- (evil-collection-define-key 'normal 'crdt-session-menu-mode-map
- (kbd "RET") 'crdt-list-buffers
- "x" 'crdt--stop-session)
-
- (evil-collection-define-key 'normal 'crdt-user-menu-mode-map
- (kbd "RET") 'crdt-goto-user
- "x" 'crdt-kill-user
- "f" 'crdt-follow-user)
-
- (evil-collection-define-key 'normal 'crdt-read-settings-map
- (kbd "RET") 'exit-recursive-edit
- "q" 'abort-recursive-edit
- "ZZ" 'exit-recursive-edit))
-
-(provide 'evil-collection-crdt)
-;;; evil-collection-crdt.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/csv/evil-collection-csv.el b/.config/emacs/lisp/evil-collection/modes/csv/evil-collection-csv.el
deleted file mode 100644
index 395aee2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/csv/evil-collection-csv.el
+++ /dev/null
@@ -1,43 +0,0 @@
-;;; evil-collection-csv.el --- Bindings for `csv' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for csv.
-
-;;; Code:
-(require 'evil-collection)
-(require 'csv nil t)
-
-(defvar csv-mode-map)
-(defconst evil-collection-csv-maps '(csv-mode-map))
-
-;;;###autoload
-(defun evil-collection-csv-setup ()
- "Set up `evil' bindings for csv."
- (evil-collection-define-key 'normal 'csv-mode-map
- [tab] 'csv-tab-command
- [backtab] 'csv-backtab-command))
-
-(provide 'evil-collection-csv)
-;;; evil-collection-csv.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/cus-theme/README.org b/.config/emacs/lisp/evil-collection/modes/cus-theme/README.org
deleted file mode 100644
index f34e2c0..0000000
--- a/.config/emacs/lisp/evil-collection/modes/cus-theme/README.org
+++ /dev/null
@@ -1,30 +0,0 @@
-* cus-theme
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Custom-Themes.html][cus-theme]] (=M-x customize-themes=, =M-x customize-create-theme=).
-
- Both =custom-theme-choose-mode= and =custom-new-theme-mode= start in
- normal state.
-
-** Key bindings
-
-*** custom-theme-choose-mode-map
-
- | Command | Original | Evil |
- |-------------------------+--------------+---------------------------------|
- | =widget-forward= | =TAB=, =n= | =gj=, =]]=, =C-j=, =TAB=, =n= |
- | =widget-backward= | =S-TAB=, =p= | =gk=, =[[=, =C-k=, =S-TAB=, =p= |
- | =custom-describe-theme= | =?= | =K= |
- | =widget-button-press= | =RET= | =RET= |
- | =quit-window= | =q= | =q= |
- | =revert-buffer= | =g= | =g= |
-
-*** custom-new-theme-mode-map
-
- | Command | Original | Evil |
- |-----------------------+--------------+---------------------------------|
- | =widget-forward= | =TAB=, =n= | =gj=, =]]=, =C-j=, =TAB=, =n= |
- | =widget-backward= | =S-TAB=, =p= | =gk=, =[[=, =C-k=, =S-TAB=, =p= |
- | =Custom-buffer-done= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
- | =widget-button-press= | =RET= | =RET= |
- | =revert-buffer= | =g= | =g= |
diff --git a/.config/emacs/lisp/evil-collection/modes/cus-theme/evil-collection-cus-theme.el b/.config/emacs/lisp/evil-collection/modes/cus-theme/evil-collection-cus-theme.el
deleted file mode 100644
index 09926a3..0000000
--- a/.config/emacs/lisp/evil-collection/modes/cus-theme/evil-collection-cus-theme.el
+++ /dev/null
@@ -1,65 +0,0 @@
-;;; evil-collection-cus-theme.el --- Bindings for `cus-theme' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, custom themes, help, faces
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `cus-theme'.
-
-;;; Code:
-(require 'cus-theme)
-(require 'evil-collection)
-
-(defconst evil-collection-cus-theme-maps '(custom-theme-choose-mode-map
- custom-new-theme-mode-map))
-
-;;;###autoload
-(defun evil-collection-cus-theme-setup ()
- "Set up `evil' bindings for `cus-theme'."
- (evil-set-initial-state 'custom-new-theme-mode 'normal)
- (evil-set-initial-state 'custom-theme-choose-mode 'normal)
-
- (evil-collection-define-key 'normal 'custom-theme-choose-mode-map
- "gj" 'widget-forward
- "gk" 'widget-backward
- (kbd "]]") 'widget-forward
- (kbd "[[") 'widget-backward
- (kbd "C-j") 'widget-forward
- (kbd "C-k") 'widget-backward
- "K" 'custom-describe-theme)
-
- (evil-collection-define-key 'normal 'custom-new-theme-mode-map
- "gj" 'widget-forward
- "gk" 'widget-backward
- (kbd "]]") 'widget-forward
- (kbd "[[") 'widget-backward
- (kbd "C-j") 'widget-forward
- (kbd "C-k") 'widget-backward
-
- ;; quit
- "q" 'Custom-buffer-done
- "ZQ" 'evil-quit
- "ZZ" 'Custom-buffer-done))
-
-(provide 'evil-collection-cus-theme)
-;;; evil-collection-cus-theme.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/custom/README.org b/.config/emacs/lisp/evil-collection/modes/custom/README.org
deleted file mode 100644
index d06b556..0000000
--- a/.config/emacs/lisp/evil-collection/modes/custom/README.org
+++ /dev/null
@@ -1,16 +0,0 @@
-* custom
-
- Evil bindings for the Customize interface (=Custom-mode=).
-
-** Key bindings
-
- | Command | Original | Evil |
- |-----------------------+-------------------------+---------------------------------------|
- | =Custom-newline= | =RET= | =RET= |
- | =widget-forward= | =TAB=, =n= | =TAB=, =]]=, =gj=, =C-j= |
- | =widget-backward= | =S-TAB=, =backtab=, =p= | =S-TAB=, =backtab=, =[[=, =gk=, =C-k= |
- | =scroll-up-command= | =SPC= | =SPC= |
- | =scroll-down-command= | =S-SPC=, =DEL= | =S-SPC=, =<delete>= |
- | =Custom-goto-parent= | =u= | =^=, =<=, =C-o= |
- | =Custom-buffer-done= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/custom/evil-collection-custom.el b/.config/emacs/lisp/evil-collection/modes/custom/evil-collection-custom.el
deleted file mode 100644
index bf9114b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/custom/evil-collection-custom.el
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; evil-collection-custom.el --- Evil bindings for Customize -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, custom, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for the Customize interface.
-
-;;; Code:
-(require 'cus-edit)
-(require 'evil-collection)
-
-(defconst evil-collection-custom-maps '(custom-mode-map))
-
-;;;###autoload
-(defun evil-collection-custom-setup ()
- "Set up `evil' bindings for `Custom-mode'."
- (evil-set-initial-state 'Custom-mode 'normal)
-
- (evil-collection-define-key 'normal 'custom-mode-map
- ;; motion
- (kbd "<tab>") 'widget-forward
- (kbd "S-<tab>") 'widget-backward
- (kbd "<backtab>") 'widget-backward
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<delete>") 'scroll-down-command
- (kbd "RET") 'Custom-newline
- (kbd "]]") 'widget-forward
- (kbd "[[") 'widget-backward
- ;; TODO: Should the following be added?
- (kbd "C-j") 'widget-forward
- (kbd "C-k") 'widget-backward
- "gj" 'widget-forward
- "gk" 'widget-backward
-
- "^" 'Custom-goto-parent
- (kbd "C-o") 'Custom-goto-parent
- ;; TODO: Should the following be added?
- "<" 'Custom-goto-parent
-
- ;; quit
- "q" 'Custom-buffer-done
- "ZQ" 'evil-quit
- "ZZ" 'Custom-buffer-done))
-
-(provide 'evil-collection-custom)
-;;; evil-collection-custom.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/daemons/evil-collection-daemons.el b/.config/emacs/lisp/evil-collection/modes/daemons/evil-collection-daemons.el
deleted file mode 100644
index d02ea44..0000000
--- a/.config/emacs/lisp/evil-collection/modes/daemons/evil-collection-daemons.el
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; evil-collection-daemons.el --- Evil Bindings for Daemons -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: Jay Kamat <jaygkamat@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, daemons, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `daemons' from the `daemons.el' package.
-
-;;; Code:
-(require 'daemons nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-daemons-maps '(daemons-mode-map
- daemons-output-mode-map))
-
-;;;###autoload
-(defun evil-collection-daemons-setup ()
- "Set up `evil' bindings for `daemons'."
- (evil-collection-define-key '(normal visual) 'daemons-mode-map
- (kbd "RET") 'daemons-status-at-point
- "s" 'daemons-start-at-point
- "S" 'daemons-stop-at-point
- "r" 'daemons-reload-at-point
- "R" 'daemons-restart-at-point
-
- "gr" 'revert-buffer
-
- "q" 'quit-window
- "ZZ" 'quit-window
- "ZQ" 'quit-window)
-
- ;; Functions are available in daemons-output-mode-map as well
- (evil-collection-define-key '(normal visual) 'daemons-output-mode-map
- (kbd "RET") 'daemons-status-at-point
- "s" 'daemons-start-at-point
- "S" 'daemons-stop-at-point
- "r" 'daemons-reload-at-point
- "R" 'daemons-restart-at-point
-
- "q" 'quit-window
- "ZZ" 'quit-window
- "ZQ" 'quit-window)
-
- (evil-set-initial-state 'daemons-mode 'normal)
- (evil-set-initial-state 'daemons-output-mode 'normal))
-
-(provide 'evil-collection-daemons)
-;;; evil-collection-daemons.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/dape/README.org b/.config/emacs/lisp/evil-collection/modes/dape/README.org
deleted file mode 100644
index 7899945..0000000
--- a/.config/emacs/lisp/evil-collection/modes/dape/README.org
+++ /dev/null
@@ -1,29 +0,0 @@
-* dape
-
- Evil bindings for [[https://github.com/svaante/dape][dape]] (Debug Adapter
- Protocol for Emacs).
-
- The =dape-info-*= mode maps are marked as overriding so dape's single-letter
- commands still win in normal state.
-
-** dape-info-watch-mode-map
-
- | Command | Original | Evil |
- |-----------------------------+----------+------|
- | =dape-info-watch-edit-mode= | n/a | =i= |
-
- Underlying upstream keys (=e=, =m=, ===, =W=, =b= for scope ops) remain
- reachable through the overriding map.
-
-** dape-info-watch-edit-mode-map
-
- | Command | Original | Evil |
- |---------------------------------+-----------+------------------------|
- | =dape-info-watch-finish-edit= | =C-c C-c= | =ZZ=, =<escape>=, =:w= |
- | =dape-info-watch-abort-changes= | =C-c C-k= | =ZQ= |
-
-** dape-memory-mode-map
-
- | Command | Original | Evil |
- |---------------+-----------+------------|
- | =save-buffer= | =C-x C-s= | =ZZ=, =:w= |
diff --git a/.config/emacs/lisp/evil-collection/modes/dape/evil-collection-dape.el b/.config/emacs/lisp/evil-collection/modes/dape/evil-collection-dape.el
deleted file mode 100644
index 9f4f5a9..0000000
--- a/.config/emacs/lisp/evil-collection/modes/dape/evil-collection-dape.el
+++ /dev/null
@@ -1,74 +0,0 @@
-;;; evil-collection-dape.el --- Bindings for `dape' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 Daniel Pettersson
-
-;; Author: Daniel Pettersson <daniel@dpettersson.net>
-;; Maintainer: Daniel Pettersson <daniel@dpettersson.net>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, dape
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `dape'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'dape nil t)
-
-(defvar dape-info-scope-mode-map)
-(defvar dape-info-watch-mode-map)
-(defvar dape-info-stack-mode-map)
-(defvar dape-info-sources-mode-map)
-(defvar dape-info-modules-mode-map)
-(defvar dape-info-breakpoints-mode-map)
-(defvar dape-info-threads-mode-map)
-
-(defconst evil-collection-dape--info-mode-maps '(dape-info-scope-mode-map
- dape-info-watch-mode-map
- dape-info-stack-mode-map
- dape-info-sources-mode-map
- dape-info-modules-mode-map
- dape-info-breakpoints-mode-map
- dape-info-threads-mode-map))
-
-(defconst evil-collection-dape-maps `(dape-info-watch-edit-mode-map
- dape-memory-mode-map
- . ,evil-collection-dape--info-mode-maps))
-
-;;;###autoload
-(defun evil-collection-dape-setup ()
- "Set up `evil' bindings for `dape'."
- (dolist (map-symbol evil-collection-dape--info-mode-maps)
- (evil-make-overriding-map (symbol-value map-symbol)))
-
- (evil-collection-define-key 'normal 'dape-info-watch-mode-map
- "i" 'dape-info-watch-edit-mode)
-
- (evil-collection-define-key nil 'dape-info-watch-edit-mode-map
- [remap evil-write] 'dape-info-watch-finish-edit)
-
- (evil-collection-define-key 'normal 'dape-memory-mode-map
- [remap evil-write] 'save-buffer
- "ZZ" 'save-buffer)
-
- (evil-collection-define-key 'normal 'dape-info-watch-edit-mode-map
- "ZQ" 'dape-info-watch-abort-changes
- "ZZ" 'dape-info-watch-finish-edit
- (kbd "<escape>") 'dape-info-watch-finish-edit))
-
-(provide 'evil-collection-dape)
-;;; evil-collection-dape.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/dashboard/evil-collection-dashboard.el b/.config/emacs/lisp/evil-collection/modes/dashboard/evil-collection-dashboard.el
deleted file mode 100644
index 2cc1386..0000000
--- a/.config/emacs/lisp/evil-collection/modes/dashboard/evil-collection-dashboard.el
+++ /dev/null
@@ -1,91 +0,0 @@
-;;; evil-collection-dashboard.el --- Evil bindings for Dashboard -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2020, 2022 Kisaragi Hiu
-
-;; Author: Kisaragi Hiu <mail@kisaragi-hiu.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, dashboard, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Evil bindings for Dashboard.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'dashboard nil t)
-
-(defvar dashboard-mode-map)
-
-(defconst evil-collection-dashboard-maps '(dashboard-mode-map))
-
-(defun evil-collection-dashboard-setup-jump-commands (&rest _)
- "Set up bindings for jump commands in Dashboard."
- (evil-collection-define-key 'normal 'dashboard-mode-map
- "r" (lookup-key dashboard-mode-map "r") ; recents
- "m" (lookup-key dashboard-mode-map "m") ; bookmarks
- "p" (lookup-key dashboard-mode-map "p") ; projects
- "a" (lookup-key dashboard-mode-map "a") ; agenda
- ;; - Dashboard inserts shortcut hints in its buffer, so it's
- ;; hard to differ from the default.
- ;;
- ;; - "registers" isn't shown in Dashboard by default; those who
- ;; added it would have to choose between the widget and losing
- ;; `evil-forward-word-end'. That's probably still better than
- ;; having a shortcut hint that isn't correct.
- "e" (lookup-key dashboard-mode-map "e"))) ; registers
-
-;;;###autoload
-(defun evil-collection-dashboard-setup ()
- "Set up Evil bindings for Dashboard."
- (evil-collection-set-readonly-bindings 'dashboard-mode-map)
- (evil-collection-define-key 'normal 'dashboard-mode-map
- ;; Movement
- "j" 'dashboard-next-line
- "k" 'dashboard-previous-line
- ;; Like `evil-collection-outline.el'.
- ;; These don't support COUNT, so it's probably better to leave [[
- ;; and ]] alone.
- "gj" 'dashboard-next-section
- "gk" 'dashboard-previous-section
-
- ;; Enabling this binding makes RET insert a newline.
- ;; Default `evil-ret' works better.
- ;; (kbd "RET") 'dashboard-return
-
- ;; Other commands
- [tab] 'widget-forward
- [backtab] 'widget-backward
- [down-mouse-1] 'widget-button-click)
-
- ;; Jump commands
- ;;
- ;; I had to use an advice as dashboard.el defines these bindings
- ;; after the map has been defined, as unnamed functions bound to a
- ;; local variable. See
- ;; https://github.com/emacs-dashboard/emacs-dashboard/blob/f15d3e2e/dashboard-widgets.el#L308
- ;; for what I mean.
- ;;
- ;; Despite the name, this function is what sets up the dashboard
- ;; buffer itself.
- (advice-add 'dashboard-insert-startupify-lists :after
- 'evil-collection-dashboard-setup-jump-commands))
-
-(provide 'evil-collection-dashboard)
-
-;;; evil-collection-dashboard.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/deadgrep/README.org b/.config/emacs/lisp/evil-collection/modes/deadgrep/README.org
deleted file mode 100644
index c35427a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/deadgrep/README.org
+++ /dev/null
@@ -1,24 +0,0 @@
-* deadgrep
-
- Evil bindings for [[https://github.com/Wilfred/deadgrep][deadgrep]].
-
-** deadgrep-mode-map
-
- | Command | Original | Evil |
- |--------------------------------------+-----------+---------------|
- | =deadgrep-visit-result= | =RET= | =RET= |
- | =deadgrep-visit-result-other-window= | =o= | =S-RET=, =go= |
- | =deadgrep-forward-match= | =n= | =C-j=, =gj= |
- | =deadgrep-backward-match= | =p= | =C-k=, =gk= |
- | =deadgrep-toggle-file-results= | =TAB= | =TAB= |
- | =deadgrep-restart= | =g= | =gr= |
- | =deadgrep-edit-mode= | =C-x C-q= | =i= |
- | =quit-window= | n/a | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
-
-** deadgrep-edit-mode-map
-
- | Command | Original | Evil |
- |-------------------------+-----------+------------|
- | =deadgrep-visit-result= | =RET= | =RET= |
- | =deadgrep-mode= | =C-c C-c= | =<escape>= |
diff --git a/.config/emacs/lisp/evil-collection/modes/deadgrep/evil-collection-deadgrep.el b/.config/emacs/lisp/evil-collection/modes/deadgrep/evil-collection-deadgrep.el
deleted file mode 100644
index 89e3444..0000000
--- a/.config/emacs/lisp/evil-collection/modes/deadgrep/evil-collection-deadgrep.el
+++ /dev/null
@@ -1,64 +0,0 @@
-;;; evil-collection-deadgrep.el --- Bindings for deadgrep -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for deadgrep.
-
-;;; Code:
-(require 'evil-collection)
-(require 'deadgrep nil t)
-
-(defconst evil-collection-deadgrep-maps '(deadgrep-edit-mode-map
- deadgrep-mode-map))
-
-;;;###autoload
-(defun evil-collection-deadgrep-setup ()
- "Set up `evil' bindings for deadgrep.."
- (evil-collection-define-key 'normal 'deadgrep-edit-mode-map
- (kbd "RET") 'deadgrep-visit-result
- (kbd "<escape>") 'deadgrep-mode)
- (evil-collection-define-key 'normal 'deadgrep-mode-map
- (kbd "RET") 'deadgrep-visit-result
- (kbd "<S-return>") 'deadgrep-visit-result-other-window
- "go" 'deadgrep-visit-result-other-window
- "gr" 'deadgrep-restart
- (kbd "C-j") 'deadgrep-forward
- (kbd "C-k") 'deadgrep-backward
- "gj" 'deadgrep-forward
- "gk" 'deadgrep-backward
- (kbd "TAB") 'deadgrep-toggle-file-results
-
- "i" 'deadgrep-edit-mode
-
- ;; FIXME: Maybe we should bind this to something?
- ;; (define-key map (kbd "C-c C-k") #'deadgrep-kill-process)
-
- ;; Quit
- "q" 'quit-window
- "ZZ" 'quit-window
- "ZQ" 'evil-quit))
-
-(provide 'evil-collection-deadgrep)
-;;; evil-collection-deadgrep.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/debbugs/evil-collection-debbugs.el b/.config/emacs/lisp/evil-collection/modes/debbugs/evil-collection-debbugs.el
deleted file mode 100644
index be0b7bf..0000000
--- a/.config/emacs/lisp/evil-collection/modes/debbugs/evil-collection-debbugs.el
+++ /dev/null
@@ -1,81 +0,0 @@
-;;; evil-collection-debbugs.el --- Evil bindings for debbugs -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, debbugs, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for debbugs.
-
-;;; Code:
-(require 'debbugs nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-debbugs-maps '(debbugs-gnu-mode-map))
-
-;;;###autoload
-(defun evil-collection-debbugs-setup ()
- "Set up `evil' bindings for `debbugs-gnu-mode'."
- (evil-set-initial-state 'debbugs-gnu-mode 'normal)
-
- (evil-collection-define-key 'normal 'debbugs-gnu-mode-map
- ;; motion
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
- (kbd "SPC") 'scroll-up-command
-
- (kbd "RET") 'debbugs-gnu-select-report
- "c" 'debbugs-gnu-send-control-message
- "d" 'debbugs-gnu-display-status
-
- ;; filter
- "s" 'debbugs-gnu-narrow-to-status
- "S" 'debbugs-gnu-search
- ;; "S" 'debbugs-gnu-widen ; Useless if we can just press "s RET" (empty filter).
- "x" 'debbugs-gnu-toggle-suppress
- "r" 'debbugs-gnu-show-all-blocking-reports
-
- ;; sort
- "o" 'debbugs-gnu-toggle-sort
- "O" 'tabulated-list-sort
-
- ;; show
- "gB" 'debbugs-gnu-show-blocking-reports
- "gb" 'debbugs-gnu-show-blocked-by-reports
-
- ;; mark
- "m" 'debbugs-gnu-toggle-tag
-
- ;; refresh
- "gr" 'debbugs-gnu-rescan
-
- "g?" 'debbugs-gnu-manual
- "gt" 'debbugs-gnu-view-bug-triage
- "g#" 'debbugs-gnu-bugs
-
- ;; quit
- "q" 'quit-window
- "ZQ" 'quit-window
- "ZZ" 'quit-window))
-
-(provide 'evil-collection-debbugs)
-;;; evil-collection-debbugs.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/debug/README.org b/.config/emacs/lisp/evil-collection/modes/debug/README.org
deleted file mode 100644
index ea4dcfe..0000000
--- a/.config/emacs/lisp/evil-collection/modes/debug/README.org
+++ /dev/null
@@ -1,26 +0,0 @@
-* debug
-
- Evil bindings for the Elisp debugger (=debugger-mode=).
-
-** Key bindings
-
- | Command | Original | Evil |
- |------------------------------------------------------+----------+-----------|
- | =debug-help-follow= / =backtrace-help-follow-symbol= | =RET= | =RET= |
- | =forward-button= | =TAB= | =TAB= |
- | =backward-button= | =S-TAB= | =S-TAB= |
- | =next-line= | n/a | =SPC= |
- | =debugger-continue= | =c= | =c= |
- | =debugger-step-through= | =d= | =d= |
- | =debugger-jump= | =j= | =J= |
- | =debugger-eval-expression= | =e= | =x=, =E= |
- | =debugger-record-expression= | =R= | =R= |
- | =debugger-return-value= | =r= | =r= |
- | =debugger-frame= | =b= | =gb= |
- | =debugger-frame-clear= | =u= | =u= |
- | =debugger-list-functions= | =l= | =gl= |
- | =debugger-toggle-locals= / =backtrace-toggle-locals= | =v= | =L=, =p= |
- | =backtrace-multi-line= | =+= | =zo= |
- | =backtrace-single-line= | =-= | =zc= |
- | =top-level= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/debug/evil-collection-debug.el b/.config/emacs/lisp/evil-collection/modes/debug/evil-collection-debug.el
deleted file mode 100644
index cf00b51..0000000
--- a/.config/emacs/lisp/evil-collection/modes/debug/evil-collection-debug.el
+++ /dev/null
@@ -1,79 +0,0 @@
-;;; evil-collection-debug.el --- Evil bindings for the debugger -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, debug, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for the debugger.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'debug)
-
-(defconst evil-collection-debug-maps '(debugger-mode-map))
-
-;;;###autoload
-(defun evil-collection-debug-setup ()
- "Set up `evil' bindings for `debug'."
- (evil-set-initial-state 'debugger-mode 'normal)
-
- (evil-collection-define-key 'normal 'debugger-mode-map
- ;; motion
- (kbd "<tab>") 'forward-button
- (kbd "S-<tab>") 'backward-button
- (kbd "RET") (if (fboundp 'debug-help-follow)
- 'debug-help-follow
- 'backtrace-help-follow-symbol)
- (kbd "SPC") 'next-line
-
- "R" 'debugger-record-expression
- "c" 'debugger-continue
- "d" 'debugger-step-through
-
- "x" 'debugger-eval-expression
- "E" 'debugger-eval-expression
-
- "J" 'debugger-jump
-
- "gl" 'debugger-list-functions
- "gb" 'debugger-frame
- "r" 'debugger-return-value
- "u" 'debugger-frame-clear
- "L" (if (fboundp 'debugger-toggle-locals)
- 'debugger-toggle-locals
- 'backtrace-toggle-locals)
- "p" (if (fboundp 'debugger-toggle-locals)
- 'debugger-toggle-locals
- 'backtrace-toggle-locals)
-
- "zo" 'backtrace-multi-line
- "zc" 'backtrace-single-line
-
- ;; quit
- "q" 'top-level
- "ZQ" 'evil-quit
- "ZZ" 'top-level))
-
-(provide 'evil-collection-debug)
-;;; evil-collection-debug.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/devdocs/evil-collection-devdocs.el b/.config/emacs/lisp/evil-collection/modes/devdocs/evil-collection-devdocs.el
deleted file mode 100644
index 696f669..0000000
--- a/.config/emacs/lisp/evil-collection/modes/devdocs/evil-collection-devdocs.el
+++ /dev/null
@@ -1,66 +0,0 @@
-;;; evil-collection-devdocs.el --- Evil bindings for devdocs -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for devdocs.
-
-;;; Code:
-(require 'evil-collection)
-(require 'devdocs nil t)
-
-(defconst evil-collection-devdocs-maps '(devdocs-mode-map))
-
-;;;###autoload
-(defun evil-collection-devdocs-setup ()
- "Set up `evil' bindings for `devdocs'."
- (evil-set-initial-state 'devdocs-mode 'normal)
- (evil-collection-set-readonly-bindings 'devdocs-mode-map)
-
- (evil-collection-define-key 'normal 'devdocs-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
-
- "[[" 'devdocs-previous-page
- "]]" 'devdocs-next-page
- "gk" 'devdocs-previous-page
- "gj" 'devdocs-next-page
-
- "g." 'devdocs-goto-target
-
- ;; history
- (kbd "C-p") 'devdocs-go-back
- (kbd "C-n") 'devdocs-go-forward
-
- ;; copy
- "C" 'devdocs-copy-url
-
- ;; search
- "s" 'devdocs-lookup))
-
-(provide 'evil-collection-devdocs)
-;;; evil-collection-devdocs.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/dictionary/evil-collection-dictionary.el b/.config/emacs/lisp/evil-collection/modes/dictionary/evil-collection-dictionary.el
deleted file mode 100644
index 7113fb3..0000000
--- a/.config/emacs/lisp/evil-collection/modes/dictionary/evil-collection-dictionary.el
+++ /dev/null
@@ -1,51 +0,0 @@
-;;; evil-collection-dictionary.el --- Evil bindings for dictionary-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: Sid Kasivajhula <sid@countvajhula.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, dictionary, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `dictionary'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'dictionary nil t)
-
-(defconst evil-collection-dictionary-maps '(dictionary-mode-map))
-
-;;;###autoload
-(defun evil-collection-dictionary-setup ()
- "Set up `evil' bindings for `dictionary'."
- (evil-set-initial-state 'dictionary-mode 'normal)
- (evil-collection-set-readonly-bindings 'dictionary-mode-map)
- (evil-collection-define-key 'normal 'dictionary-mode-map
- ;; button
- [tab] 'forward-button
- [backtab] 'backward-button
- ;; mouse
- [mouse-1] 'link-selected
- ;; misc
- "g?" 'dictionary-help ; normally under `h` which is rebound here
- (kbd "C-o") 'dictionary-previous)) ; normally under `l` which is rebound here
-
-(provide 'evil-collection-dictionary)
-;;; evil-collection-dictionary.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/diff-hl/README.org b/.config/emacs/lisp/evil-collection/modes/diff-hl/README.org
deleted file mode 100644
index 67e87a7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/diff-hl/README.org
+++ /dev/null
@@ -1,29 +0,0 @@
-* diff-hl
-
- Evil bindings for [[https://github.com/dgutov/diff-hl][diff-hl]]'s show-hunk popup and inline overlay.
-
- Also adds =evil-normalize-keymaps= to
- =diff-hl-show-hunk-inline-transient-mode-hook= so the bindings take
- effect when the transient mode toggles on.
-
-** Key bindings
-
-*** diff-hl-show-hunk-map
-
- | Command | Original | Evil |
- |----------------------------------------+----------+------|
- | =diff-hl-show-hunk-previous= | =p=, ={= | =p= |
- | =diff-hl-show-hunk-next= | =n=, =}= | =n= |
- | =diff-hl-show-hunk-copy-original-text= | =c= | =c= |
- | =diff-hl-show-hunk-revert-hunk= | =r= | =r= |
- | =diff-hl-show-hunk-stage-hunk= | =S= | =S= |
-
-*** diff-hl-show-hunk-inline-transient-mode-map
-
- | Command | Original | Evil |
- |--------------------------------------------+-------------------+------------|
- | =diff-hl-show-hunk-inline-hide= | =q=, =C-g=, =ESC= | =q=, =ESC= |
- | =diff-hl-show-hunk-inline--popup-down= | =<down>=, =C-n= | =j= |
- | =diff-hl-show-hunk-inline--popup-up= | =<up>=, =C-p= | =k= |
- | =diff-hl-show-hunk-inline--popup-pagedown= | =<next>=, =C-v= | =C-f= |
- | =diff-hl-show-hunk-inline--popup-pageup= | =<prior>=, =M-v= | =C-b= |
diff --git a/.config/emacs/lisp/evil-collection/modes/diff-hl/evil-collection-diff-hl.el b/.config/emacs/lisp/evil-collection/modes/diff-hl/evil-collection-diff-hl.el
deleted file mode 100644
index 9a9fe5b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/diff-hl/evil-collection-diff-hl.el
+++ /dev/null
@@ -1,75 +0,0 @@
-;;; evil-collection-diff-hl.el --- Evil bindings for diff-hl -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, diff, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for diff-hl.
-;;
-;; All functions used below are autoloaded except for
-;; `diff-hl-show-hunk-inline--popup-down' et al commands.
-;;
-;; When users invoke `diff-hl-show-hunk' (it invokes
-;; `diff-hl-show-hunk-function' under the hood), `diff-hl-show-hunk-inline.el' or
-;; `diff-hl-show-hunk-posframe.el' will be loaded eventually.
-;;
-;; So there is no
-;;
-;; (require 'diff-hl nil t)
-;;
-;; below.
-
-;;; Code:
-(require 'evil-collection)
-
-(defconst evil-collection-diff-hl-maps '(diff-hl-show-hunk-map
- diff-hl-show-hunk-inline-transient-mode-map))
-
-;;;###autoload
-(defun evil-collection-diff-hl-setup()
- "Set up `evil' bindings for `diff-hl'."
- (add-hook 'diff-hl-show-hunk-inline-transient-mode-hook 'evil-normalize-keymaps)
-
- (evil-collection-define-key 'normal 'diff-hl-show-hunk-inline-transient-mode-map
- ;; quit
- "q" 'diff-hl-show-hunk-inline-hide
- (kbd "<escape>") 'diff-hl-show-hunk-inline-hide
-
- ;; motion
- "j" 'diff-hl-show-hunk-inline--popup-down
- "k" 'diff-hl-show-hunk-inline--popup-up
- (kbd "C-f") 'diff-hl-show-hunk-inline--popup-pagedown
- (kbd "C-b") 'diff-hl-show-hunk-inline--popup-pageup)
-
- ;; Actually `diff-hl-show-hunk-inline-transient-mode-map' will inherit it by
- ;; `set-keymap-parent'.
- (evil-collection-define-key 'normal 'diff-hl-show-hunk-map
- ;; Keep it the same as the overlay shows.
- "p" 'diff-hl-show-hunk-previous
- "n" 'diff-hl-show-hunk-next
- "c" 'diff-hl-show-hunk-copy-original-text
- "r" 'diff-hl-show-hunk-revert-hunk
- "S" 'diff-hl-show-hunk-stage-hunk))
-
-(provide 'evil-collection-diff-hl)
-;;; evil-collection-diff-hl.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/diff-mode/README.org b/.config/emacs/lisp/evil-collection/modes/diff-mode/README.org
deleted file mode 100644
index a15d829..0000000
--- a/.config/emacs/lisp/evil-collection/modes/diff-mode/README.org
+++ /dev/null
@@ -1,66 +0,0 @@
-* diff-mode
-
- Evil bindings for =diff-mode=. By default they are installed on a dedicated
- minor mode (=evil-collection-diff-mode=) attached to every =diff-mode= buffer,
- so normal/insert states keep working for editing. Set
- =evil-collection-diff-mode-want-minor-mode= to =nil= to instead bind on
- =diff-mode-map= and have read-only / motion state toggle together.
-
-** Key bindings (minor-mode setup, default)
-
- Active in normal state.
-
- | Command | Original | Evil |
- |--------------------+-----------+-------------|
- | =diff-goto-source= | =C-c C-c= | =RET= |
- | =diff-file-prev= | =M-{= | =[[= |
- | =diff-file-next= | =M-}= | =]]= |
- | =diff-hunk-prev= | =M-p= | =gk=, =C-k= |
- | =diff-hunk-next= | =M-n= | =gj=, =C-j= |
- | =diff-ediff-patch= | =C-c C-e= | =ge= |
- | =read-only-mode= | n/a | =\= |
- | =quit-window= | n/a | =q= |
-
- With =evil-collection-want-g-bindings= (the default), edit commands sit under
- =g=:
-
- | Command | Original | Evil |
- |-----------------------------------------------+-----------+------|
- | =diff-apply-hunk= | =C-c C-a= | =ga= |
- | =diff-refine-hunk= | =C-c C-b= | =g*= |
- | =diff-hunk-kill= | =C-c C-k= | =gx= |
- | =diff-file-kill= | =C-c M-k= | =gX= |
- | =diff-split-hunk= | =C-c C-s= | =gs= |
- | =diff-test-hunk= | =C-c C-t= | =gc= |
- | =diff-reverse-direction= | =C-c C-r= | =g~= |
- | =diff-ignore-whitespace-hunk= | =C-c C-w= | =g#= |
- | =diff-add-change-log-entries-other-window= | =C-x 4 A= | =gA= |
- | =evil-collection-diff-toggle-context-unified= | n/a | =g%= |
- | =evil-collection-diff-toggle-restrict-view= | =C-c C-n= | =go= |
- | =next-error-follow-minor-mode= | =C-c C-f= | =gi= |
-
- Without =evil-collection-want-g-bindings=, the commands above land on their
- single-letter equivalents (=a=, =*=, =d=, =D=, =s=, =c=, =~=, =#=, =A=, =x=,
- =o=, =i=) instead.
-
-** Motion-state setup (when =evil-collection-diff-mode-want-minor-mode= is nil)
-
- Same set of commands, but they go on =diff-mode-map= directly in normal and
- motion states. A hook (=evil-collection-diff-toggle-setup=) flips state
- whenever the buffer's read-only flag changes — read-only buffers enter motion
- state, writable buffers normal state. Toggle this hook per-buffer with =M-x
- evil-collection-diff-toggle-setup=.
-
-** New commands
-
- | Command | Key | |
- |-----------------------------------------------+------+--------------------------------------------------|
- | =evil-collection-diff-toggle-context-unified= | =g%= | Toggle context <-> unified view. |
- | =evil-collection-diff-toggle-restrict-view= | =go= | Toggle =diff-restrict-view=; widens if narrowed. |
- | =evil-collection-diff-toggle-setup= | n/a | Toggle the read-only state hook in the buffer. |
-
-** Customization
-
- | Variable | Default | Purpose |
- |---------------------------------------------+---------+----------------------------------------------------------------------------|
- | =evil-collection-diff-mode-want-minor-mode= | =t= | Bind on =evil-collection-diff-mode= minor mode instead of =diff-mode-map=. |
diff --git a/.config/emacs/lisp/evil-collection/modes/diff-mode/evil-collection-diff-mode.el b/.config/emacs/lisp/evil-collection/modes/diff-mode/evil-collection-diff-mode.el
deleted file mode 100644
index 1015705..0000000
--- a/.config/emacs/lisp/evil-collection/modes/diff-mode/evil-collection-diff-mode.el
+++ /dev/null
@@ -1,222 +0,0 @@
-;;; evil-collection-diff-mode.el --- Add Evil bindings to diff-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, diff, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;
-;; Evil-Collection-Diff re-uses the read-only particularity of `diff-mode':
-;; When the buffer is read-only, enter motion state
-;; and manipulate the diffs with simple bindings.
-;; When the buffer is writage, use normal/insert states with some Evil-specific
-;; keys to ease navigation.
-;;
-;; See also `evil-collection-diff-toggle-setup'.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'diff-mode)
-
-(defconst evil-collection-diff-mode-maps '(diff-mode-map))
-
-(defun evil-collection-diff-read-only-state-switch ()
- "Make read-only in motion state, writable in normal state."
- (when (eq major-mode 'diff-mode)
- (if buffer-read-only
- (evil-motion-state)
- (evil-normal-state))))
-
-;;;###autoload
-(defun evil-collection-diff-toggle-setup ()
- "Toggle visiting diff buffers in motion state."
- (interactive)
- (when (eq major-mode 'diff-mode)
- (if (memq 'evil-collection-diff-read-only-state-switch read-only-mode-hook)
- (remove-hook 'read-only-mode-hook 'evil-collection-diff-read-only-state-switch t)
- (add-hook 'read-only-mode-hook 'evil-collection-diff-read-only-state-switch nil t))))
-
-;;; TODO: Report toggle function upstream?
-(defun evil-collection-diff-toggle-context-unified (start end)
- "Toggle between context and unified views.
-
-START and END are either taken from the region (if a prefix arg is given) or
-else cover the whole buffer."
- (interactive (if (or current-prefix-arg (use-region-p))
- (list (region-beginning) (region-end))
- (list (point-min) (point-max))))
- ;; There seems to be no way to know whether we are in context or unified views.
- ;; Workaround: assume that point-max will change. This is brittle.
- (let ((old-point-max (point-max)))
- (diff-unified->context start end)
- (when (= old-point-max (point-max))
- (diff-context->unified start end))))
-
-;;; TODO: Report toggle function upstream?
-(defun evil-collection-diff-toggle-restrict-view (&optional arg)
- "Toggle the restriction of the view to the current hunk.
-When restricting and if the prefix ARG is given, restrict the view to the
-current file instead."
- (interactive "P")
- (if (buffer-narrowed-p)
- (widen)
- (diff-restrict-view arg)))
-
-(defcustom evil-collection-diff-mode-want-minor-mode t
- "Whether to bind keys to a `evil-collection' created minor mode.
-
-When this is enabled, disable bootstrap related to setting up keys for motion,
-binding keys to a minor mode created by `evil-collection' instead."
- :type 'boolean
- :group 'evil-collection)
-
-(define-obsolete-variable-alias 'evil-collection-diff-mode-want-g-bindings
- 'evil-collection-want-g-bindings "0.0.11")
-
-(defvar evil-collection-diff-mode-map (make-sparse-keymap))
-
-(define-minor-mode evil-collection-diff-mode
- "A minor mode to attach to `diff-mode' results"
- :group 'evil-collection-diff-mode
- :keymap evil-collection-diff-mode-map
- :lighter nil)
-
-(defun evil-collection-diff-mode-turn-on ()
- "Turn on `evil-collection-diff-mode' and normalize keymaps."
- (evil-collection-diff-mode)
- (evil-normalize-keymaps))
-
-(defun evil-collection-diff-mode-setup-on-minor-mode ()
- "Set up bindings on `evil-collection-diff-mode'."
- (evil-collection-define-key 'normal 'evil-collection-diff-mode-map
- (kbd "[[") 'diff-file-prev
- (kbd "]]") 'diff-file-next
- (kbd "C-j") 'diff-hunk-next
- (kbd "C-k") 'diff-hunk-prev
- "gj" 'diff-hunk-next
- "gk" 'diff-hunk-prev
- "ge" 'diff-ediff-patch
- "q" 'quit-window
- "\\" 'read-only-mode
- (kbd "RET") 'diff-goto-source)
-
- (if evil-collection-want-g-bindings
- (evil-collection-define-key 'normal 'evil-collection-diff-mode-map
- "gA" 'diff-add-change-log-entries-other-window
- "ga" 'diff-apply-hunk
- "g*" 'diff-refine-hunk
- "gX" 'diff-file-kill
- "gx" 'diff-hunk-kill
- "gi" 'next-error-follow-minor-mode
- "go" 'evil-collection-diff-toggle-restrict-view
- "g~" 'diff-reverse-direction
- "gs" 'diff-split-hunk
- "gc" 'diff-test-hunk
- "g%" 'evil-collection-diff-toggle-context-unified
- "g#" 'diff-ignore-whitespace-hunk)
- (evil-collection-define-key 'normal 'evil-collection-diff-mode-map
- "A" 'diff-add-change-log-entries-other-window
- "a" 'diff-apply-hunk
- "*" 'diff-refine-hunk
- "D" 'diff-file-kill
- "d" 'diff-hunk-kill
- "i" 'next-error-follow-minor-mode
- "o" 'evil-collection-diff-toggle-restrict-view
- "~" 'diff-reverse-direction
- "s" 'diff-split-hunk
- "c" 'diff-test-hunk
- "x" 'evil-collection-diff-toggle-context-unified
- "#" 'diff-ignore-whitespace-hunk))
-
- ;; Enable a separate minor mode so that we can bind keys to it.
- (add-hook 'diff-mode-hook 'evil-collection-diff-mode))
-
-(defun evil-collection-diff-mode-setup-on-motion-state ()
- "Set up keys with motion state."
- (evil-collection-define-key 'normal 'diff-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "[[") 'diff-file-prev
- (kbd "]]") 'diff-file-next
- (kbd "C-j") 'diff-hunk-next
- (kbd "C-k") 'diff-hunk-prev
- "gj" 'diff-hunk-next
- "gk" 'diff-hunk-prev
-
- "q" 'quit-window
-
- "\\" 'read-only-mode) ; magit has "\"
-
- (evil-collection-define-key 'motion 'diff-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "[[") 'diff-file-prev
- (kbd "]]") 'diff-file-next
- (kbd "C-j") 'diff-hunk-next
- (kbd "C-k") 'diff-hunk-prev
- "gj" 'diff-hunk-next
- "gk" 'diff-hunk-prev
-
- (kbd "RET") 'diff-goto-source
- "A" 'diff-add-change-log-entries-other-window
-
- "a" 'diff-apply-hunk
- "*" 'diff-refine-hunk
- "D" 'diff-file-kill
- "d" 'diff-hunk-kill
-
- "ge" 'diff-ediff-patch
- "i" 'next-error-follow-minor-mode
- "o" 'evil-collection-diff-toggle-restrict-view
- "~" 'diff-reverse-direction
- "s" 'diff-split-hunk
- "c" 'diff-test-hunk
- "x" 'evil-collection-diff-toggle-context-unified
- "#" 'diff-ignore-whitespace-hunk
-
- "\\" 'read-only-mode) ; magit has "\"
- )
-
-;;;###autoload
-(defun evil-collection-diff-mode-setup ()
- "Set up `evil' bindings for `diff-mode'."
- ;; Don't switch to read-only/motion state by default as this can interfere
- ;; with other modes which require a writable buffer, e.g. magit.
- (evil-set-initial-state 'diff-mode 'normal)
-
- (if evil-collection-diff-mode-want-minor-mode
- (evil-collection-diff-mode-setup-on-minor-mode)
- (evil-collection-diff-mode-setup-on-motion-state)))
-
-(unless evil-collection-diff-mode-want-minor-mode
- (add-hook 'diff-mode-hook 'evil-collection-diff-toggle-setup))
-
-(defun evil-collection-diff-unload-function ()
- "For `unload-feature'."
- (unless evil-collection-diff-mode-want-minor-mode
- (remove-hook 'diff-mode-hook 'evil-collection-diff-toggle-setup)))
-
-(provide 'evil-collection-diff-mode)
-;;; evil-collection-diff-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/difftastic/README.org b/.config/emacs/lisp/evil-collection/modes/difftastic/README.org
deleted file mode 100644
index 2486a73..0000000
--- a/.config/emacs/lisp/evil-collection/modes/difftastic/README.org
+++ /dev/null
@@ -1,20 +0,0 @@
-* difftastic
-
- Evil bindings for [[https://github.com/pkryger/difftastic.el][difftastic]] result buffers.
-
-** Key bindings
-
- | Command | Original | Evil |
- |---------------------------------------+---------------------+-------------|
- | =difftastic-previous-file= | =P=, =M-p= | =[[= |
- | =difftastic-next-file= | =N=, =M-n= | =]]= |
- | =difftastic-next-chunk= | =n= | =C-j=, =gj= |
- | =difftastic-previous-chunk= | =p= | =C-k=, =gk= |
- | =difftastic-hide-chunk= | | =zc= |
- | =difftastic-show-chunk= | | =zo= |
- | =difftastic-toggle-chunk= | =TAB= | =TAB= |
- | =difftastic-diff-visit-file= | =RET= | =RET= |
- | =difftastic-diff-visit-worktree-file= | =C-<return>=, =C-j= | =o= |
- | =difftastic-rerun= | =g= | =gr= |
- | =difftastic-leave= | =c=, =e= | =q= |
- | =difftastic-quit= | =q= | =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/difftastic/evil-collection-difftastic.el b/.config/emacs/lisp/evil-collection/modes/difftastic/evil-collection-difftastic.el
deleted file mode 100644
index e1b223c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/difftastic/evil-collection-difftastic.el
+++ /dev/null
@@ -1,57 +0,0 @@
-;;; evil-collection-difftastic.el --- Bindings for `difftastic' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2025 hiecaq
-
-;; Author: hiecaq <soc.github@hiecaq.org>
-;; Maintainer: hiecaq <soc.github@hiecaq.org>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for difftastic.
-
-;;; Code:
-(require 'evil-collection)
-(require 'difftastic nil t)
-
-(defvar difftastic-mode-map)
-
-(defconst evil-collection-difftastic-maps '(difftastic-mode-map))
-
-;;;###autoload
-(defun evil-collection-difftastic-setup ()
- "Set up `evil' bindings for `difftastic'."
- (evil-collection-define-key 'normal 'difftastic-mode-map
- (kbd "[[") 'difftastic-previous-file
- (kbd "]]") 'difftastic-next-file
- (kbd "C-j") 'difftastic-next-chunk
- (kbd "C-k") 'difftastic-previous-chunk
- "gj" 'difftastic-next-chunk
- "gk" 'difftastic-previous-chunk
- "zc" 'difftastic-hide-chunk
- "zo" 'difftastic-show-chunk
- (kbd "TAB") 'difftastic-toggle-chunk
- (kbd "RET") 'difftastic-diff-visit-file
- "o" 'difftastic-diff-visit-worktree-file
- "gr" 'difftastic-rerun
- "q" 'difftastic-leave
- "ZQ" 'difftastic-quit))
-
-(provide 'evil-collection-difftastic)
-
-;;; evil-collection-difftastic.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/dired-sidebar/evil-collection-dired-sidebar.el b/.config/emacs/lisp/evil-collection/modes/dired-sidebar/evil-collection-dired-sidebar.el
deleted file mode 100644
index f03f379..0000000
--- a/.config/emacs/lisp/evil-collection/modes/dired-sidebar/evil-collection-dired-sidebar.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; evil-collection-dired-sidebar.el --- Evil bindings for dired-sidebar -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, dired, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `dired-sidebar'
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'dired-sidebar nil t)
-
-(defconst evil-collection-dired-sidebar-maps '(dired-sidebar-mode-map))
-
-;;;###autoload
-(defun evil-collection-dired-sidebar-setup ()
- "Set up `evil' bindings for `dired-sidebar'."
- (evil-collection-define-key 'normal 'dired-sidebar-mode-map
- (kbd "RET") 'dired-sidebar-find-file
- (kbd "C-m") 'dired-sidebar-find-file
- (kbd "<return>") 'dired-sidebar-find-file
- (kbd "TAB") 'dired-sidebar-subtree-toggle
- [tab] 'dired-sidebar-subtree-toggle
- "^" 'dired-sidebar-up-directory
- "-" 'dired-sidebar-up-directory
- (kbd "C-o") 'dired-sidebar-find-file-alt
- [mouse-2] 'dired-sidebar-mouse-subtree-cycle-or-find-file
- "ZZ" 'quit-window))
-
-(provide 'evil-collection-dired-sidebar)
-;;; evil-collection-dired-sidebar.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/dired/README.org b/.config/emacs/lisp/evil-collection/modes/dired/README.org
deleted file mode 100644
index 4068799..0000000
--- a/.config/emacs/lisp/evil-collection/modes/dired/README.org
+++ /dev/null
@@ -1,40 +0,0 @@
-* dired
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html][Dired]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------------+-----------------+-----------------|
- | =dired-next-line= | =n=, =SPC= | =j=, =SPC= |
- | =dired-previous-line= | =p=, =S-SPC= | =k=, =S-SPC= |
- | =dired-find-file= | =f=, =RET=, =e= | =gf=, =RET= |
- | =dired-find-file-other-window= | =o= | =gO= |
- | =dired-view-file= | =v= | =go= |
- | =revert-buffer= | =g= | =gr= |
- | =dired-summary= | =?=, =h= | =g?= |
- | =dired-show-file-type= | =y= | =gy= |
- | =dired-copy-filename-as-kill= | =w= | =Y= |
- | =dired-do-kill-lines= | =k= | =K= |
- | =dired-do-chgrp= | =G= | =gG= |
- | =dired-hide-subdir= | =$= | =g$= |
- | =dired-next-dirline= | =>= | =gj=, =]]=, =>= |
- | =dired-prev-dirline= | =<= | =gk=, =[[=, =<= |
- | =dired-up-directory= | =^= | =^=, =-= |
- | =dired-sort-toggle-or-edit= | =s= | =o= |
- | =dired-do-redisplay= | =l= | =r= |
- | =dired-find-alternate-file= | =a= | =a= |
- | =quit-window= | =q= | =q= |
-
- Uppercase operator keys (=A=, =B=, =C=, =D=, =H=, =L=, =M=, =O=, =P=, =Q=,
- =R=, =S=, =T=, =U=, =W=, =X=, =Z=) and marking/flagging keys (=+=, =&=,
- =!=, =%=, =*=, =~=, =#=, =.=, ===) keep their default dired bindings.
-
- On Emacs 30+: =E= → =dired-do-open=.
-
-** Integrations
-
- - [[https://github.com/Fuco1/dired-hacks][dired-narrow]]: =s= → =dired-narrow-regexp=.
- - [[https://github.com/Fuco1/dired-hacks][dired-subtree]]: =TAB= toggle, =gh= / =gl= up/down, =M-j= / =M-k= sibling navigation.
- - [[https://github.com/Fuco1/dired-hacks][dired-filter]]: =*= → =dired-filter-mark-map=, =g/= → =dired-filter-map=.
- - dired-x: =*(=, =*.=, =*O= for sexp / extension / omitted marking.
diff --git a/.config/emacs/lisp/evil-collection/modes/dired/evil-collection-dired.el b/.config/emacs/lisp/evil-collection/modes/dired/evil-collection-dired.el
deleted file mode 100644
index 7898c1a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/dired/evil-collection-dired.el
+++ /dev/null
@@ -1,224 +0,0 @@
-;;; evil-collection-dired.el --- Evil bindings for Dired -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, dired, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Dired.
-
-;;; Code:
-(require 'dired)
-(require 'evil-collection)
-
-(defvar dired-filter-mark-map)
-(defvar dired-filter-map)
-
-(defconst evil-collection-dired-maps '(dired-mode-map
- dired-filter-mark-map
- dired-filter-map))
-
-;;;###autoload
-(defun evil-collection-dired-setup ()
- "Set up `evil' bindings for `dired'."
- (evil-collection-define-key 'normal 'dired-mode-map
- "q" 'quit-window
- "j" 'dired-next-line
- "k" 'dired-previous-line
- [mouse-2] 'dired-mouse-find-file-other-window
- [follow-link] 'mouse-face
- ;; Commands to mark or flag certain categories of files
- "#" 'dired-flag-auto-save-files
- "." 'dired-clean-directory
- "~" 'dired-flag-backup-files
- ;; Upper case keys (except !) for operating on the marked files
- "A" 'dired-do-find-regexp
- "C" 'dired-do-copy
- "B" 'dired-do-byte-compile
- "D" 'dired-do-delete
- "gG" 'dired-do-chgrp ;; FIXME: This can probably live on a better binding.
- "H" 'dired-do-hardlink
- "L" 'dired-do-load
- "M" 'dired-do-chmod
- "O" 'dired-do-chown
- "P" 'dired-do-print
- "Q" 'dired-do-find-regexp-and-replace
- "R" 'dired-do-rename
- "S" 'dired-do-symlink
- "T" 'dired-do-touch
- "X" 'dired-do-shell-command
- "Z" 'dired-do-compress
- "c" 'dired-do-compress-to
- "!" 'dired-do-shell-command
- "&" 'dired-do-async-shell-command
- ;; Comparison commands
- "=" 'dired-diff
- ;; Tree Dired commands
- (kbd "M-C-?") 'dired-unmark-all-files
- (kbd "M-C-d") 'dired-tree-down
- (kbd "M-C-u") 'dired-tree-up
- (kbd "M-C-n") 'dired-next-subdir
- (kbd "M-C-p") 'dired-prev-subdir
- ;; move to marked files
- (kbd "M-{") 'dired-prev-marked-file
- (kbd "M-}") 'dired-next-marked-file
- ;; Make all regexp commands share a `%' prefix:
- ;; We used to get to the submap via a symbol dired-regexp-prefix,
- ;; but that seems to serve little purpose, and copy-keymap
- ;; does a better job without it.
- "%" nil
- "%u" 'dired-upcase
- "%l" 'dired-downcase
- "%d" 'dired-flag-files-regexp
- "%g" 'dired-mark-files-containing-regexp
- "%m" 'dired-mark-files-regexp
- "%r" 'dired-do-rename-regexp
- "%C" 'dired-do-copy-regexp
- "%H" 'dired-do-hardlink-regexp
- "%R" 'dired-do-rename-regexp
- "%S" 'dired-do-symlink-regexp
- "%&" 'dired-flag-garbage-files
- ;; mark
- "*" nil
- "**" 'dired-mark-executables
- "*/" 'dired-mark-directories
- "*@" 'dired-mark-symlinks
- "*%" 'dired-mark-files-regexp
- "*c" 'dired-change-marks
- "*s" 'dired-mark-subdir-files
- "*m" 'dired-mark
- "*u" 'dired-unmark
- "*?" 'dired-unmark-all-files
- "*!" 'dired-unmark-all-marks
- "U" 'dired-unmark-all-marks
- (kbd "* <delete>") 'dired-unmark-backward
- (kbd "* C-n") 'dired-next-marked-file
- (kbd "* C-p") 'dired-prev-marked-file
- "*t" 'dired-toggle-marks
- ;; Lower keys for commands not operating on all the marked files
- "a" 'dired-find-alternate-file
- "d" 'dired-flag-file-deletion
- "gf" 'dired-find-file
- (kbd "C-m") 'dired-find-file
- "gr" 'revert-buffer
- "i" 'dired-toggle-read-only
- "I" 'dired-maybe-insert-subdir
- "J" 'dired-goto-file
- "K" 'dired-do-kill-lines
- "r" 'dired-do-redisplay
- "m" 'dired-mark
- "t" 'dired-toggle-marks
- "u" 'dired-unmark ; also "*u"
- "W" 'browse-url-of-dired-file
- "x" 'dired-do-flagged-delete
- "gy" 'dired-show-file-type ;; FIXME: This could probably go on a better key.
- "Y" 'dired-copy-filename-as-kill
- "+" 'dired-create-directory
- ;; open
- (kbd "RET") 'dired-find-file
- (kbd "S-<return>") 'dired-find-file-other-window
- (kbd "M-RET") 'dired-display-file
- "gO" 'dired-find-file-other-window
- "go" 'dired-view-file
- ;; sort
- "o" 'dired-sort-toggle-or-edit
- ;; moving
- "gj" 'dired-next-dirline
- "gk" 'dired-prev-dirline
- "[[" 'dired-prev-dirline
- "]]" 'dired-next-dirline
- "<" 'dired-prev-dirline
- ">" 'dired-next-dirline
- "^" 'dired-up-directory
- "-" 'dired-up-directory
- " " 'dired-next-line
- [?\S-\ ] 'dired-previous-line
- [remap next-line] 'dired-next-line
- [remap previous-line] 'dired-previous-line
- ;; hiding
- "g$" 'dired-hide-subdir ;; FIXME: This can probably live on a better binding.
- (kbd "M-$") 'dired-hide-all
- "(" 'dired-hide-details-mode
- ;; isearch
- (kbd "M-s a C-s") 'dired-do-isearch
- (kbd "M-s a M-C-s") 'dired-do-isearch-regexp
- (kbd "M-s f C-s") 'dired-isearch-filenames
- (kbd "M-s f M-C-s") 'dired-isearch-filenames-regexp
- ;; misc
- [remap read-only-mode] 'dired-toggle-read-only
- ;; `toggle-read-only' is an obsolete alias for `read-only-mode'
- [remap toggle-read-only] 'dired-toggle-read-only
- "g?" 'dired-summary
- (kbd "<delete>") 'dired-unmark-backward
- [remap undo] 'dired-undo
- [remap advertised-undo] 'dired-undo
- ;; thumbnail manipulation (image-dired)
- (kbd "C-t d") 'image-dired-display-thumbs
- (kbd "C-t t") 'image-dired-tag-files
- (kbd "C-t r") 'image-dired-delete-tag
- (kbd "C-t j") 'image-dired-jump-thumbnail-buffer
- (kbd "C-t i") 'image-dired-dired-display-image
- (kbd "C-t x") 'image-dired-dired-display-external
- (kbd "C-t a") 'image-dired-display-thumbs-append
- (kbd "C-t .") 'image-dired-display-thumb
- (kbd "C-t c") 'image-dired-dired-comment-files
- (kbd "C-t f") 'image-dired-mark-tagged-files
- (kbd "C-t C-t") 'image-dired-dired-toggle-marked-thumbs
- (kbd "C-t e") 'image-dired-dired-edit-comment-and-tags
- ;; encryption and decryption (epa-dired)
- ";d" 'epa-dired-do-decrypt
- ";v" 'epa-dired-do-verify
- ";s" 'epa-dired-do-sign
- ";e" 'epa-dired-do-encrypt)
-
- (when (>= emacs-major-version 30)
- (evil-collection-define-key 'normal 'dired-mode-map
- "E" 'dired-do-open))
-
- ;; dired-x commands
- (with-eval-after-load 'dired-x
- (evil-collection-define-key 'normal 'dired-mode-map
- "*(" 'dired-mark-sexp
- "*." 'dired-mark-extension
- "*O" 'dired-mark-omitted))
-
- ;; dired-narrow commands
- (with-eval-after-load 'dired-narrow
- (evil-collection-define-key 'normal 'dired-mode-map
- "s" 'dired-narrow-regexp))
-
- ;; dired-subtree commands
- (with-eval-after-load 'dired-subtree
- (evil-collection-define-key 'normal 'dired-mode-map
- (kbd "TAB") 'dired-subtree-toggle
- "gh" 'dired-subtree-up
- "gl" 'dired-subtree-down
- (kbd "M-j") 'dired-subtree-next-sibling
- (kbd "M-k") 'dired-subtree-previous-sibling))
-
- (with-eval-after-load 'dired-filter
- (evil-collection-define-key 'normal 'dired-mode-map
- "*" dired-filter-mark-map
- "g/" dired-filter-map)))
-
-(provide 'evil-collection-dired)
-;;; evil-collection-dired.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/disk-usage/evil-collection-disk-usage.el b/.config/emacs/lisp/evil-collection/modes/disk-usage/evil-collection-disk-usage.el
deleted file mode 100644
index ee1b5c9..0000000
--- a/.config/emacs/lisp/evil-collection/modes/disk-usage/evil-collection-disk-usage.el
+++ /dev/null
@@ -1,89 +0,0 @@
-;;; evil-collection-disk-usage.el --- Evil bindings for disk-usage.el -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 Pierre Neidhardt
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, files, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `disk-usage-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'disk-usage nil t)
-
-(defconst evil-collection-disk-usage-maps '(disk-usage-mode-map
- disk-usage-by-types-mode-map))
-
-;;;###autoload
-(defun evil-collection-disk-usage-setup ()
- "Set up `evil' bindings for `disk-usage'."
- (evil-collection-set-readonly-bindings 'disk-usage-mode-map)
- (evil-collection-define-key 'normal 'disk-usage-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
-
- "S" 'tabulated-list-sort
- "^" 'disk-usage-up
-
- "zh" 'disk-usage-toggle-human-readable
- "zf" 'disk-usage-toggle-full-path
- "zr" 'disk-usage-toggle-recursive
-
- (kbd "ze") 'disk-usage-eshell-at-point
- (kbd "zs") 'disk-usage-shell-at-point
- (kbd "d") 'disk-usage-dired-at-point
-
- "m" 'disk-usage-mark
- "u" 'disk-usage-unmark
- "x" 'disk-usage-delete-marked-files
-
- "a" 'disk-usage-add-filters
- "A" 'disk-usage-remove-filters
-
- "g?" 'describe-mode
- "gr" 'revert-buffer)
-
- (evil-collection-set-readonly-bindings 'disk-usage-by-types-mode-map)
- (evil-collection-define-key 'normal 'disk-usage-by-types-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
-
- (kbd "RET") 'disk-usage-files
-
- "S" 'tabulated-list-sort
-
- "zh" 'disk-usage-toggle-human-readable
-
- "g?" 'describe-mode
- "gr" 'revert-buffer
-
- "a" 'disk-usage-add-filters
- "A" 'disk-usage-remove-filters))
-
-(provide 'evil-collection-disk-usage)
-;;; evil-collection-disk-usage.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/distel/evil-collection-distel.el b/.config/emacs/lisp/evil-collection/modes/distel/evil-collection-distel.el
deleted file mode 100644
index 098cc1d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/distel/evil-collection-distel.el
+++ /dev/null
@@ -1,81 +0,0 @@
-;;; evil-collection-distel.el --- Bindings for `distel' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, elisp, lisp
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `distel'.
-
-;;; Code:
-(require 'distel nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-distel-maps '(erlang-extended-mode-map
- edb-attach-mode-map
- edb-monitor-mode-map
- edb-variables-mode-map))
-
-;;;###autoload
-(defun evil-collection-distel-setup ()
- "Set up `evil' bindings for `distel'."
- (evil-collection-define-key 'normal 'erlang-extended-mode-map
- "gd" 'erl-find-source-under-point
- (kbd "C-t") 'erl-find-source-unwind
- "gz" 'erl-ie-show-session
- "K" 'erl-find-doc-under-point)
-
- (when evil-collection-setup-debugger-keys
- (evil-collection-define-key 'normal 'erlang-extended-mode-map
- [f5] 'edb-toggle-interpret
- [f9] 'edb-toggle-breakpoint
- ;; ("\C-c\C-ds" edb-synch-breakpoints)
- ;; ("\C-c\C-dS" edb-save-dbg-state)
- ;; ("\C-c\C-dR" edb-restore-dbg-state)
- ;; ("\C-c\C-dm" edb-monitor)
- )
-
- (evil-collection-define-key 'normal 'edb-monitor-mode-map
- (kbd "RET") 'edb-attach-command
- "q" 'erl-bury-viewer)
-
- (evil-collection-define-key 'normal 'edb-variables-mode-map
- (kbd "RET") 'edb-show-variable)
-
- (evil-collection-define-key 'normal 'edb-attach-mode-map
- "i" 'edb-attach-step ;; Step Into
- "n" 'edb-attach-next
- "c" 'edb-attach-continue
- "U" 'edb-attach-up
- "D" 'edb-attach-down
- "H" 'edb-attach-finish
- "q" 'erl-quit-viewer
- "g?" 'edb-attach-help
- "b" 'edb-toggle-breakpoint))
-
- (when evil-collection-want-find-usages-bindings
- (evil-collection-define-key 'normal 'erlang-extended-mode-map
- "gr" 'erl-who-calls))
-
- (add-hook 'erlang-extended-mode-hook 'evil-normalize-keymaps))
-
-(provide 'evil-collection-distel)
-;;; evil-collection-distel.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/doc-view/README.org b/.config/emacs/lisp/evil-collection/modes/doc-view/README.org
deleted file mode 100644
index ea0af7c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/doc-view/README.org
+++ /dev/null
@@ -1,42 +0,0 @@
-* doc-view
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Document-View.html][doc-view]] (PDF / PS / DVI viewer).
-
- =doc-view-mode= starts in normal state.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------------------------------+----------------+-------------------------------------|
- | =doc-view-next-line-or-next-page= | =C-n=, =down= | =j= (remap) |
- | =doc-view-previous-line-or-previous-page= | =C-p=, =up= | =k= (remap) |
- | =image-forward-hscroll= | n/a | =l= (remap) |
- | =image-backward-hscroll= | n/a | =h= (remap) |
- | =doc-view-next-page= | =n= | =gj=, =C-j=, =n= |
- | =doc-view-previous-page= | =p= | =gk=, =C-k=, =p= |
- | =doc-view-first-page= | =M-<= | =gg= |
- | =doc-view-last-page= | =M->= | =G= |
- | =doc-view-goto-page= | =M-g M-g= | =J= |
- | =doc-view-scroll-up-or-next-page= | =SPC= | =SPC= |
- | =doc-view-scroll-down-or-previous-page= | =DEL=, =S-SPC= | =DEL=, =S-SPC= |
- | =forward-page= | =next= | =C-d= |
- | =backward-page= | =prior= | =C-u= (when =evil-want-C-u-scroll=) |
- | =image-next-line= | =RET= | =RET= |
- | =doc-view-enlarge= | =+=, === | =+=, === |
- | =doc-view-shrink= | =-= | =-= |
- | =doc-view-scale-reset= | =0= | =0= |
- | =doc-view-fit-width-to-window= | =W= | =W= |
- | =doc-view-fit-height-to-window= | =H= | =H= |
- | =doc-view-fit-page-to-window= | =P= | =P= |
- | =doc-view-kill-proc= | =K= | =X= |
- | =doc-view-set-slice= | =c s= | =s s= |
- | =doc-view-set-slice-using-mouse= | =c m= | =s m= |
- | =doc-view-set-slice-from-bounding-box= | =c b= | =s b= |
- | =doc-view-reset-slice= | =c r= | =s r= |
- | =doc-view-search= | =C-s=, =find= | =/= |
- | =doc-view-search-backward= | =C-r= | =?= |
- | =doc-view-show-tooltip= | =C-t= | =C-t= |
- | =doc-view-toggle-display= | =C-c C-c= | =C-c C-c= |
- | =doc-view-open-text= | =C-c C-t= | =C-c C-t= |
- | =doc-view-revert-buffer= | n/a | =gr= |
- | =quit-window= | n/a | =q= |
diff --git a/.config/emacs/lisp/evil-collection/modes/doc-view/evil-collection-doc-view.el b/.config/emacs/lisp/evil-collection/modes/doc-view/evil-collection-doc-view.el
deleted file mode 100644
index 42b10ff..0000000
--- a/.config/emacs/lisp/evil-collection/modes/doc-view/evil-collection-doc-view.el
+++ /dev/null
@@ -1,89 +0,0 @@
-;;; evil-collection-doc-view.el --- Evil bindings for docview -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, bindings, files, pdf, ps, dvi
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Evil bindings for doc-view.
-
-;;; Code:
-(require 'evil-collection)
-(require 'doc-view)
-
-(defconst evil-collection-doc-view-maps '(doc-view-mode-map))
-
-;;;###autoload
-(defun evil-collection-doc-view-setup ()
- "Set up `evil' bindings for `doc-view'."
- (evil-set-initial-state 'doc-view-mode 'normal)
- (evil-collection-define-key 'normal 'doc-view-mode-map
- "q" 'quit-window
- [remap evil-next-line] 'doc-view-next-line-or-next-page
- [remap evil-previous-line] 'doc-view-previous-line-or-previous-page
- [remap evil-backward-char] 'image-backward-hscroll
- [remap evil-forward-char] 'image-forward-hscroll
- (kbd "C-j") 'doc-view-next-page
- (kbd "C-k") 'doc-view-previous-page
- "gj" 'doc-view-next-page
- "gk" 'doc-view-previous-page
- (kbd "C-d") 'forward-page
- (kbd "SPC") 'doc-view-scroll-up-or-next-page
- (kbd "DEL") 'doc-view-scroll-down-or-previous-page
- (kbd "S-SPC") 'doc-view-scroll-down-or-previous-page
- "gg" 'doc-view-first-page
- "G" 'doc-view-last-page
- "J" 'doc-view-goto-page
- (kbd "RET") 'image-next-line
-
- ;; zoom
- "+" 'doc-view-enlarge
- "=" 'doc-view-enlarge
- "0" 'doc-view-scale-reset
- "-" 'doc-view-shrink
-
- "W" 'doc-view-fit-width-to-window ; Like evil-image.
- "H" 'doc-view-fit-height-to-window ; Like evil-image.
- "P" 'doc-view-fit-page-to-window
- "X" 'doc-view-kill-proc
-
- (kbd "s s") 'doc-view-set-slice
- (kbd "s m") 'doc-view-set-slice-using-mouse
- (kbd "s b") 'doc-view-set-slice-from-bounding-box
- (kbd "s r") 'doc-view-reset-slice
-
- (kbd "/") 'doc-view-search
- (kbd "?") 'doc-view-search-backward
- (kbd "C-t") 'doc-view-show-tooltip
- (kbd "C-c C-c") 'doc-view-toggle-display
- (kbd "C-c C-t") 'doc-view-open-text
-
- ;; refresh
- (kbd "gr") 'doc-view-revert-buffer)
-
- ;; TODO: What if the user changes `evil-want-C-u-scroll' after this is run?
- (when evil-want-C-u-scroll
- (evil-collection-define-key 'normal 'doc-view-mode-map
- (kbd "C-u") 'backward-page)))
-
-(provide 'evil-collection-doc-view)
-;;; evil-collection-doc-view.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/docker/evil-collection-docker.el b/.config/emacs/lisp/evil-collection/modes/docker/evil-collection-docker.el
deleted file mode 100644
index 29ecd21..0000000
--- a/.config/emacs/lisp/evil-collection/modes/docker/evil-collection-docker.el
+++ /dev/null
@@ -1,89 +0,0 @@
-;;; evil-collection-docker.el --- Evil bindings for docker.el -*- lexical-binding: t -*-
-
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, docker, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for docker.el
-
-;;; Code:
-(require 'docker nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-docker-maps '(docker-container-mode-map
- docker-context-mode-map
- docker-image-mode-map
- docker-machine-mode-map
- docker-network-mode-map
- docker-volume-mode-map))
-
-(defun evil-collection-docker-setup ()
- "Set up `evil' bindings for `docker'."
- (evil-collection-define-key 'normal 'docker-container-mode-map
- ";" 'docker-container-ls
- "?" 'docker-container-help
- "C" 'docker-container-cp
- "D" 'docker-container-rm
- "I" 'docker-container-inspect
- "K" 'docker-container-kill
- "L" 'docker-container-logs
- "O" 'docker-container-stop
- "P" 'docker-container-pause
- "R" 'docker-container-restart
- "S" 'docker-container-start
- "a" 'docker-container-attach
- "b" 'docker-container-shells
- "d" 'docker-container-diff
- "f" 'docker-container-open
- "r" 'docker-container-rename-selection)
-
- (evil-collection-define-key 'normal 'docker-context-mode-map
- "?" 'docker-context-help
- "D" 'docker-context-rm
- "I" 'docker-context-inspect
- "X" 'docker-context-use)
-
- (evil-collection-define-key 'normal 'docker-image-mode-map
- ";" 'docker-image-ls
- "?" 'docker-image-help
- "D" 'docker-image-rm
- "F" 'docker-image-pull
- "I" 'docker-image-inspect
- "P" 'docker-image-push
- "R" 'docker-image-run
- "T" 'docker-image-tag-selection
- "d" 'docker-image-mark-dangling)
-
- (evil-collection-define-key 'normal 'docker-network-mode-map
- ";" 'docker-network-ls
- "?" 'docker-network-help
- "D" 'docker-network-rm
- "I" 'docker-network-inspect
- "d" 'docker-network-mark-dangling)
-
- (evil-collection-define-key 'normal 'docker-volume-mode-map
- ";" 'docker-volume-ls
- "?" 'docker-volume-help
- "D" 'docker-volume-rm
- "I" 'docker-volume-inspect
- "d" 'docker-volume-mark-dangling
- "f" 'docker-volume-dired-selection))
-
-(provide 'evil-collection-docker)
-
-;;; evil-collection-docker.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/eat/README.org b/.config/emacs/lisp/evil-collection/modes/eat/README.org
deleted file mode 100644
index b8fdfae..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eat/README.org
+++ /dev/null
@@ -1,37 +0,0 @@
-* eat
-
- Evil bindings for [[https://codeberg.org/akib/emacs-eat][eat]], the Emulate A Terminal package.
-
- Initial state for =eat-mode= is =insert=. The same =C-*= keys that vterm
- forwards raw to the terminal are bound to =eat-self-input= here so that
- shells and TUIs receive them instead of evil-insert-state.
-
-** Key bindings
-
-*** eat-mode-map
-
- | Command | Original | Evil |
- |------------------------------------------+----------+-----------|
- | =evil-collection-eat-toggle-send-escape= | n/a | =C-c C-z= |
-
- The following keys are forwarded raw to the terminal via =eat-self-input=
- in insert state: =C-a=, =C-b=, =C-d=, =C-e=, =C-f=, =C-k=, =C-l=, =C-n=,
- =C-o=, =C-p=, =C-q=, =C-r=, =C-s=, =C-t=, =C-u=, =C-v=, =C-w=, =C-y=,
- =C-z=, =<delete>=. =C-c= (prefix) and =C-h= (help) are not forwarded.
-
-*** eat-line-mode-map
-
- =RET=, =C-m= and =[return]= send input to the terminal in the state
- named by =evil-collection-repl-submit-state=, and insert a newline in
- the opposite state.
-
- | Command | Original | State |
- |-----------------------+----------+-------------------------------------|
- | =eat-line-send-input= | =RET= | =evil-collection-repl-submit-state= |
- | =newline= | n/a | opposite of submit state |
-
-** New commands
-
- | Command | Purpose |
- |------------------------------------------+---------------------------------------------------|
- | =evil-collection-eat-toggle-send-escape= | Toggle whether =ESC= goes to eat or back to evil. |
diff --git a/.config/emacs/lisp/evil-collection/modes/eat/evil-collection-eat.el b/.config/emacs/lisp/evil-collection/modes/eat/evil-collection-eat.el
deleted file mode 100644
index b5a6262..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eat/evil-collection-eat.el
+++ /dev/null
@@ -1,124 +0,0 @@
-;;; evil-collection-eat.el --- Bindings for `eat' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 James Cherti
-
-;; Maintainer: James Cherti <https://www.jamescherti.com/contact/>
-;; Author: James Cherti <https://www.jamescherti.com/contact/>
-;; Based on evil-collection-vterm.el by James Nguyen and Pierre Neidhardt
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, eat, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; This package provides `evil-mode' keybindings for `eat'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'eat nil t)
-
-(defconst evil-collection-eat-maps '(eat-mode-map
- eat-line-mode-map
- eat-semi-char-mode-map
- eat-char-mode-map
- eat-eshell-semi-char-mode-map
- eat-eshell-char-mode-map))
-
-;; The map symbols below are only referenced inside quoted lists in this
-;; file, so the byte-compiler does not actually require these declarations.
-;; Defining them keeps certain linters happy.
-(defvar eat-line-mode-map)
-(defvar eat-semi-char-mode-map)
-(defvar eat-char-mode-map)
-(defvar eat-eshell-semi-char-mode-map)
-(defvar eat-eshell-char-mode-map)
-
-(defvar-local evil-collection-eat-send-escape-to-eat-p nil
- "Track whether or not we send ESC to `eat' or `emacs'.")
-
-(defun evil-collection-eat-toggle-send-escape ()
- "Toggle the destination of the ESC key between `eat' and `emacs'.
-This adjustment is necessary for programs that utilize ESC, such as Vim or an
-SSH-accessed Emacs that also uses `evil-mode'."
- (interactive)
- (if evil-collection-eat-send-escape-to-eat-p
- (evil-collection-define-key 'insert 'eat-mode-map (kbd "<escape>")
- (lookup-key evil-insert-state-map (kbd "<escape>")))
- (evil-collection-define-key 'insert 'eat-mode-map
- (kbd "<escape>") 'eat-self-input))
- (setq evil-collection-eat-send-escape-to-eat-p
- (not evil-collection-eat-send-escape-to-eat-p))
- (message (format "Sending ESC to %s."
- (if evil-collection-eat-send-escape-to-eat-p
- "eat"
- "emacs"))))
-
-;;;###autoload
-(defun evil-collection-eat-setup ()
- "Set up `evil' bindings for `eat'."
- (evil-set-initial-state 'eat-mode 'insert)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'eat-line-mode-map
- (kbd "RET") 'eat-line-send-input
- (kbd "\C-m") 'eat-line-send-input
- [return] 'eat-line-send-input)
- (evil-collection-define-key newline-state 'eat-line-mode-map
- (kbd "RET") #'newline
- (kbd "\C-m") #'newline
- [return] #'newline))
-
- (evil-collection-define-key '(normal insert) 'eat-mode-map
- (kbd "C-c C-z") 'evil-collection-eat-toggle-send-escape)
-
- ;; `Evil' has some "C-" bindings in insert state that shadow the `eat' terminal
- ;; bindings. Do not send "C-c" (prefix key) nor "C-h" (help prefix) as raw input.
- (evil-collection-define-key 'insert 'eat-mode-map
- (kbd "C-a") 'eat-self-input
- (kbd "C-b") 'eat-self-input
- (kbd "C-d") 'eat-self-input
- (kbd "C-e") 'eat-self-input
- (kbd "C-f") 'eat-self-input
- (kbd "C-k") 'eat-self-input
- (kbd "C-l") 'eat-self-input
- (kbd "C-n") 'eat-self-input
- (kbd "C-o") 'eat-self-input
- (kbd "C-p") 'eat-self-input
- (kbd "C-q") 'eat-self-input
- (kbd "C-r") 'eat-self-input
- (kbd "C-s") 'eat-self-input
- (kbd "C-t") 'eat-self-input
- (kbd "C-u") 'eat-self-input
- (kbd "C-v") 'eat-self-input
- (kbd "C-w") 'eat-self-input
- (kbd "C-y") 'eat-self-input
- (kbd "C-z") 'eat-self-input
- (kbd "<delete>") 'eat-self-input)
-
- ;; Paste bindings: in a terminal, "paste before/after" is meaningless because
- ;; the cursor position is controlled by the running program. Bind both `p'
- ;; and `P' to `eat-yank' so the kill-ring is sent as terminal input.
- (dolist (map '(eat-semi-char-mode-map
- eat-char-mode-map
- eat-eshell-semi-char-mode-map
- eat-eshell-char-mode-map))
- (evil-collection-define-key 'normal map
- (kbd "p") 'eat-yank
- (kbd "P") 'eat-yank)))
-
-(provide 'evil-collection-eat)
-;;; evil-collection-eat.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ebib/evil-collection-ebib.el b/.config/emacs/lisp/evil-collection/modes/ebib/evil-collection-ebib.el
deleted file mode 100644
index 1c51451..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ebib/evil-collection-ebib.el
+++ /dev/null
@@ -1,77 +0,0 @@
-;;; evil-collection-ebib.el --- Evil bindings for ebib -*- lexical-binding: t -*-
-
-;; Author: Justin Burkett
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, ebib, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for the ebib.
-
-;;; Code:
-(require 'evil-collection)
-(require 'ebib nil t)
-
-(defconst evil-collection-ebib-maps '(ebib-index-mode-map
- ebib-entry-mode-map))
-
-(defvar ebib-index-mode-map)
-(defvar ebib-entry-mode-map)
-
-;;;###autoload
-(defun evil-collection-ebib-setup ()
- "Set up `evil' bindings for `ebib'."
- (evil-set-initial-state 'ebib-index-mode 'normal)
- (evil-make-overriding-map ebib-index-mode-map 'normal)
- (evil-collection-inhibit-insert-state 'ebib-index-mode-map)
- (evil-collection-define-key 'normal 'ebib-index-mode-map
- "d" 'ebib-kill-entry
- "D" 'ebib-delete-entry
- "gg" 'ebib-goto-first-entry
- "G" 'ebib-goto-last-entry
- "j" 'ebib-next-entry
- "k" 'ebib-prev-entry
- "n" 'ebib-search-next
- "p" 'ebib-yank-entry
- "gj" 'ebib-jump-to-entry
- "ZQ" 'ebib-quit
- "ZZ" 'ebib-lower
- (kbd "C-u") 'ebib-index-scroll-down
- (kbd "C-d") 'ebib-index-scroll-up
- (kbd "C-b") 'ebib-index-scroll-down
- (kbd "C-f") 'ebib-index-scroll-up)
- (evil-set-initial-state 'ebib-entry-mode 'normal)
- (evil-make-overriding-map ebib-entry-mode-map 'normal)
- (evil-collection-inhibit-insert-state 'ebib-entry-mode-map)
- (evil-collection-define-key 'normal 'ebib-entry-mode-map
- "[[" 'ebib-goto-prev-set
- "]]" 'ebib-goto-next-set
- "d" 'ebib-kill-field-contents
- "D" 'ebib-delete-field-contents
- "gg" 'ebib-goto-first-field
- "gk" 'ebib-goto-prev-set
- "gj" 'ebib-goto-next-set
- "G" 'ebib-goto-last-field
- "j" 'ebib-next-field
- "k" 'ebib-prev-field
- "p" 'ebib-yank-field-contents
- "y" 'ebib-copy-current-field-contents
- "ZZ" 'ebib-quit-entry-buffer
- "ZQ" 'ebib-quit-entry-buffer))
-
-(provide 'evil-collection-ebib)
-;;; evil-collection-ebib.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ebuku/evil-collection-ebuku.el b/.config/emacs/lisp/evil-collection/modes/ebuku/evil-collection-ebuku.el
deleted file mode 100644
index 8ab4129..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ebuku/evil-collection-ebuku.el
+++ /dev/null
@@ -1,63 +0,0 @@
-;;; evil-collection-ebuku.el --- Evil bindings for Ebuku -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020-2022 Alexis
-
-;; Author: Alexis <flexibeast@gmail.com>
-;; Maintainer: Alexis <flexibeast@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, ebuku, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Evil bindings for Ebuku.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'ebuku nil t)
-
-
-;;;###autoload
-(defun evil-collection-ebuku-setup ()
- "Set up `evil' bindings for `Ebuku'."
- (evil-collection-define-key 'normal 'ebuku-mode-map
- "q" 'quit-window
- "a" 'ebuku-add-bookmark
- "d" 'ebuku-delete-bookmark
- "x" 'ebuku-delete-bookmark
- "e" 'ebuku-edit-bookmark
- "gr" 'ebuku-refresh
- "j" 'ebuku-next-bookmark
- (kbd "C-j") 'ebuku-next-bookmark
- "k" 'ebuku-previous-bookmark
- (kbd "C-k") 'ebuku-previous-bookmark
- "r" 'ebuku-search-on-recent
- "s" 'ebuku-search
- "*" 'ebuku-show-all
- "-" 'ebuku-toggle-results-limit
- "t" 'ebuku-toggle-results-limit
- (kbd "RET") 'ebuku-open-url
- "C" 'ebuku-copy-url
- "T" 'ebuku-copy-title
- "I" 'ebuku-copy-index
- [mouse-1] 'ebuku-open-url
- [mouse-2] 'ebuku-open-url))
-
-
-(provide 'evil-collection-ebuku)
-;;; evil-collection-ebuku.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/eca/evil-collection-eca.el b/.config/emacs/lisp/evil-collection/modes/eca/evil-collection-eca.el
deleted file mode 100644
index 37657bd..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eca/evil-collection-eca.el
+++ /dev/null
@@ -1,56 +0,0 @@
-;;; evil-collection-eca.el --- Bindings for eca -*- lexical-binding: t -*-
-
-;; Copyright (C) 2026 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "29.1"))
-;; Keywords: evil, eca, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for eca.
-
-;;; Code:
-(require 'evil-collection)
-(require 'eca nil t)
-
-(defconst evil-collection-eca-maps '(eca-chat-mode-map))
-
-(defvar eca-chat-mode-map)
-
-;;;###autoload
-(defun evil-collection-eca-setup ()
- "Set up `evil' bindings for `eca'."
- (add-hook 'eca-chat-mode-hook 'evil-normalize-keymaps)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'eca-chat-mode-map
- (kbd "<return>") 'eca-chat--key-pressed-return
- (kbd "RET") 'eca-chat--key-pressed-return)
- (evil-collection-define-key newline-state 'eca-chat-mode-map
- (kbd "<return>") 'eca-chat--key-pressed-newline
- (kbd "RET") 'eca-chat--key-pressed-newline))
-
- (evil-collection-define-key 'insert 'eca-chat-mode-map
- (kbd "S-<return>") 'eca-chat--key-pressed-newline)
- (evil-collection-define-key 'normal 'eca-chat-mode-map
- (kbd "S-<return>") 'eca-chat--key-pressed-newline))
-
-(provide 'evil-collection-eca)
-;;; evil-collection-eca.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/edbi/evil-collection-edbi.el b/.config/emacs/lisp/evil-collection/modes/edbi/evil-collection-edbi.el
deleted file mode 100644
index f6b7f63..0000000
--- a/.config/emacs/lisp/evil-collection/modes/edbi/evil-collection-edbi.el
+++ /dev/null
@@ -1,108 +0,0 @@
-;;; evil-collection-edbi.el --- Evil bindings for EDBI -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 Pierre Neidhardt <mail@ambrevar.xyz>
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, database, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for EDBI.
-
-;;; Code:
-(require 'evil-collection)
-(require 'edbi nil t)
-
-(defvar ctbl:table-mode-map)
-(defvar edbi:dbview-keymap)
-(declare-function ctbl:define-keymap "ctable")
-(declare-function epc:add-keymap "epc")
-
-(defconst evil-collection-edbi-maps '(edbi:dbview-query-result-keymap
- edbi:sql-mode-map))
-
-(defun evil-collection-edbi-dbview-setup ()
- "The `ctbl:table-mode-map' and `edbi:dbview-keymap' are stored
-as local maps and are not bound to any mode. As such, the only
-way to add Evil bindings to the dbview is to overwrite the
-default bindings."
- (setq ctbl:table-mode-map
- (ctbl:define-keymap
- '(
- ("k" . ctbl:navi-move-up)
- ("j" . ctbl:navi-move-down)
- ("h" . ctbl:navi-move-left)
- ("l" . ctbl:navi-move-right)
-
- ("gc" . ctbl:navi-jump-to-column)
-
- ("$" . ctbl:navi-move-right-most)
- ("0" . ctbl:navi-move-left-most)
-
- ("gr" . ctbl:action-update-buffer)
-
- ("g?" . ctbl:describe-bindings)
-
- ([mouse-1] . ctbl:navi-on-click)
- ("C-m" . ctbl:navi-on-click)
- ("RET" . ctbl:navi-on-click))))
-
- (setq edbi:dbview-keymap
- (epc:add-keymap
- ctbl:table-mode-map
- '(("gr" . edbi:dbview-update-command)
- ("SPC" . edbi:dbview-show-tabledef-command)
- ("c" . edbi:dbview-query-editor-command)
- ("C" . edbi:dbview-query-editor-new-command)
- ("C-m" . edbi:dbview-show-table-data-command)
- ("q" . edbi:dbview-quit-command)))))
-
-;;;###autoload
-(defun evil-collection-edbi-setup ()
- "Set up `evil' bindings for EDBI."
- (evil-collection-edbi-dbview-setup)
- (evil-collection-define-key 'normal 'edbi:dbview-query-result-keymap
- "0" 'ctbl:navi-move-left-most
- "$" 'ctbl:navi-move-right-most
-
- "h" 'ctbl:navi-move-left
- "j" 'ctbl:navi-move-down
- "k" 'ctbl:navi-move-up
- "l" 'ctbl:navi-move-right
-
- "gc" 'ctbl:navi-jump-to-column
-
- "g?" 'ctbl:describe-bindings
-
- ;; motion
- "gr" 'ctbl:action-update-buffer
-
- ;; quit
- "q" 'edbi:dbview-query-result-quit-command
- "ZQ" 'evil-quit
- "ZZ" 'quit-window)
-
- (evil-collection-define-key 'normal 'edbi:sql-mode-map
- "q" 'edbi:dbview-query-editor-quit-command
- (kbd "C-n") 'edbi:dbview-query-editor-history-forward-command
- (kbd "C-p") 'edbi:dbview-query-editor-history-back-command))
-
-(provide 'evil-collection-edbi)
-;;; evil-collection-edbi.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/edebug/README.org b/.config/emacs/lisp/evil-collection/modes/edebug/README.org
deleted file mode 100644
index aba73a1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/edebug/README.org
+++ /dev/null
@@ -1,53 +0,0 @@
-* edebug
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug.html][Edebug]].
-
-** Key bindings
-
- Bindings live in =edebug-mode-map=. Edebug overlays the source while a form
- is instrumented; evil-collection sets the initial state to normal and frees
- =g=, =G=, and =h= as prefixes.
-
- | Command | Original | Evil |
- |-------------------------------------+-----------+-----------------|
- | =edebug-step-mode= | =SPC= | =s=, =C-c C-s= |
- | =edebug-next-mode= | =n= | =n=, =C-c C-n= |
- | =edebug-go-mode= | =g= | =go=, =C-c C-c= |
- | =edebug-Go-nonstop-mode= | =G= | =gO= |
- | =edebug-trace-mode= | =t= | =t= |
- | =edebug-Trace-fast-mode= | =T= | =T= |
- | =edebug-continue-mode= | =c= | =c= |
- | =edebug-Continue-fast-mode= | =C= | =C= |
- | =edebug-forward-sexp= | =f= | =f= |
- | =edebug-step-in= | =i= | =i= |
- | =edebug-step-out= | =o= | =o= |
- | =edebug-goto-here= | =h= | =H= |
- | =edebug-instrument-callee= | =I= | =I= |
- | =edebug-stop= | =S= | =S= |
- | =top-level= | =q= | =q= |
- | =edebug-top-level-nonstop= | =Q= | =Q= |
- | =abort-recursive-edit= | =a= | =a= |
- | =edebug-set-breakpoint= | =b= | =b=, =C-x SPC= |
- | =edebug-unset-breakpoint= | =u= | =u=, =C-c C-d= |
- | =edebug-next-breakpoint= | =B= | =B= |
- | =edebug-set-conditional-breakpoint= | =x= | =x= |
- | =edebug-set-global-break-condition= | =X= | =X= |
- | =edebug-previous-result= | =r= | =r= |
- | =edebug-eval-expression= | =e= | =e= |
- | =edebug-eval-last-sexp= | =C-x C-e= | =C-x C-e= |
- | =edebug-visit-eval-list= | =E= | =EL= |
- | =edebug-where= | =w= | =WW=, =C-c C-l= |
- | =edebug-bounce-point= | =p= | =p= |
- | =edebug-view-outside= | =v=, =P= | =P= |
- | =edebug-toggle-save-windows= | =W= | =WS= |
- | =edebug-help= | =?= | =g?= |
- | =edebug-backtrace= | =d= | =d= |
- | =edebug-temp-display-freq-count= | === | === |
- | =negative-argument= | =-= | =-= |
-
-** Integrations
-
- - edebug-x: in =edebug-x-instrumented-function-list-mode-map=, =RET= jumps to
- the function, =E= evaluates, =Q= clears data, =q= quits. In
- =edebug-x-breakpoint-list-mode-map=, =RET= visits the breakpoint, =x= kills
- it, =Q= clears data, =q= quits.
diff --git a/.config/emacs/lisp/evil-collection/modes/edebug/evil-collection-edebug.el b/.config/emacs/lisp/evil-collection/modes/edebug/evil-collection-edebug.el
deleted file mode 100644
index 2c3d1d7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/edebug/evil-collection-edebug.el
+++ /dev/null
@@ -1,126 +0,0 @@
-;;; evil-collection-edebug.el --- Evil bindings for Edebug -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, edebug, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `edebug-mode'.
-
-;;; Code:
-(require 'edebug)
-(require 'evil-collection)
-
-(defconst evil-collection-edebug-maps
- '(edebug-mode-map
- edebug-x-instrumented-function-list-mode-map
- edebug-x-breakpoint-list-mode-map))
-
-;;;###autoload
-(defun evil-collection-edebug-setup ()
- "Set up `evil' bindings for `edebug'."
- (evil-set-initial-state 'edebug-mode 'normal)
-
- (add-hook 'edebug-mode-hook #'evil-normalize-keymaps)
-
- (evil-collection-define-key nil 'edebug-mode-map
- "g" nil
- "G" nil
- "h" nil)
-
- ;; FIXME: Seems like other minor modes will readily clash with `edebug'.
- ;; `lispyville' and `edebug' 's' key?
- (evil-collection-define-key 'normal 'edebug-mode-map
- ;; control
- "s" 'edebug-step-mode
- "n" 'edebug-next-mode
- "go" 'edebug-go-mode
- "gO" 'edebug-Go-nonstop-mode
- "t" 'edebug-trace-mode
- "T" 'edebug-Trace-fast-mode
- "c" 'edebug-continue-mode
- "C" 'edebug-Continue-fast-mode
-
- "f" 'edebug-forward-sexp
- "H" 'edebug-goto-here
- "I" 'edebug-instrument-callee
- "i" 'edebug-step-in
- "o" 'edebug-step-out
-
- ;; quit
- "q" 'top-level
- "Q" 'edebug-top-level-nonstop
- "a" 'abort-recursive-edit
- "S" 'edebug-stop
-
- ;; breakpoints
- "b" 'edebug-set-breakpoint
- "u" 'edebug-unset-breakpoint
- "B" 'edebug-next-breakpoint
- "x" 'edebug-set-conditional-breakpoint
- "X" 'edebug-set-global-break-condition
-
- ;; evaluation
- "r" 'edebug-previous-result
- "e" 'edebug-eval-expression
- (kbd "C-x C-e") 'edebug-eval-last-sexp
- "EL" 'edebug-visit-eval-list
-
- ;; views
- "WW" 'edebug-where
- "p" 'edebug-bounce-point
- "P" 'edebug-view-outside ;; same as v
- "WS" 'edebug-toggle-save-windows
-
- ;; misc
- "g?" 'edebug-help
- "d" 'edebug-backtrace
-
- "-" 'negative-argument
-
- ;; statistics
- "=" 'edebug-temp-display-freq-count
-
- ;; GUD bindings
- (kbd "C-c C-s") 'edebug-step-mode
- (kbd "C-c C-n") 'edebug-next-mode
- (kbd "C-c C-c") 'edebug-go-mode
-
- (kbd "C-x SPC") 'edebug-set-breakpoint
- (kbd "C-c C-d") 'edebug-unset-breakpoint
- (kbd "C-c C-t") (lambda () (interactive) (edebug-set-breakpoint t))
- (kbd "C-c C-l") 'edebug-where)
-
- (with-eval-after-load 'edebug-x
- (evil-collection-define-key 'normal 'edebug-x-instrumented-function-list-mode-map
- "E" 'edebug-x-evaluate-function
- "Q" 'edebug-x-clear-data
- (kbd "RET") 'edebug-x-find-function
- "q" 'quit-window)
- (evil-collection-define-key 'normal 'edebug-x-breakpoint-list-mode-map
- (kbd "RET") 'edebug-x-visit-breakpoint
- "x" 'edebug-x-kill-breakpoint
- "Q" 'edebug-x-clear-data
- "q" 'quit-window)))
-
-(provide 'evil-collection-edebug)
-;;; evil-collection-edebug.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ediff/README.org b/.config/emacs/lisp/evil-collection/modes/ediff/README.org
deleted file mode 100644
index 6aa4b6f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ediff/README.org
+++ /dev/null
@@ -1,21 +0,0 @@
-* ediff
-
- The table below shows the binding changes that are made to ediff-mode.
-
-| Command | Original Binding | evil-collection-ediff |
-|-----------------------------+------------------+-----------------------|
-| =ediff-next-difference= | =n, SPC= | =j, n, SPC= |
-| =ediff-previous-difference= | =p, DEL= | =k, N, p, DEL= |
-| =ediff-jump-to-difference= | =j= | =d= |
-| jump to first difference | =1j= | =gg, 1d= |
-| jump to last difference | N/A | =G= |
-| copy region A to region B | =a= | =a, l= |
-| copy region B to region A | =b= | =b, h= |
-| scroll down 1 line | =C-u 1 v= | =C-e= |
-| scroll up 1 line | =C-u 1 V= | =C-y= |
-| scroll down half page | =v, C-v= | =C-d, v, C-v= |
-| scroll up half page | =V, M-v= | =C-u, V, M-v= |
-| scroll left | =>= | =zh= |
-| scroll right | =<= | =zl= |
-| toggle highlighting | =h= | =H= |
-| =ediff-suspend= | =z= | =C-z= |
diff --git a/.config/emacs/lisp/evil-collection/modes/ediff/evil-collection-ediff.el b/.config/emacs/lisp/evil-collection/modes/ediff/evil-collection-ediff.el
deleted file mode 100644
index 549d692..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ediff/evil-collection-ediff.el
+++ /dev/null
@@ -1,205 +0,0 @@
-;;; evil-collection-ediff.el --- Evil bindings for ediff -*- lexical-binding: t -*-
-;; Copyright (C) 2015 Justin Burkett
-
-;; Author: Justin Burkett <justin@burkett.cc>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Homepage: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3") (evil "1.2.3"))
-;; Keywords: evil, ediff, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Make ediff a little evil. This configures ediff to be friendlier to users
-;; of vim-like keybindings. Consult the help buffer (=?=) for more info.
-
-;; Here's a table describing the bindings
-
-;; | Command | Original Binding | Evil-ediff |
-;; |-----------------------------+------------------+-------------|
-;; | ediff-next-difference | n,SPC | C-j,n,SPC |
-;; | ediff-previous-difference | p,DEL | C-k,N,p,DEL |
-;; | ediff-jump-to-difference | j | d |
-;; | jump to first difference | 1j | gg (or 1d) |
-;; | jump to last difference | N/A | G |
-;; | copy region A to region B | a | a,l |
-;; | copy region B to region A | b | b,h |
-;; | scroll down 1 line | C-u 1 v | j |
-;; | scroll up 1 line | C-u 1 V | k |
-;; | scroll down half page | v,C-v | C-d,v,C-v |
-;; | scroll up half page | V,M-v | C-u,V,M-v |
-;; | scroll left | > | zh |
-;; | scroll right | < | zl |
-;; | toggle highlighting | h | H |
-;; | ediff-suspend | z | C-z |
-
-;; Not implemented yet
-;; | restore old diff | ra,rb,rc | u |
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'ediff nil t)
-
-(defconst evil-collection-ediff-maps '(ediff-mode-map))
-
-(defvar evil-collection-ediff-initial-state-backup (evil-initial-state 'ediff-mode))
-(defvar evil-collection-ediff-long-help-message-compare2-backup ediff-long-help-message-compare2)
-(defvar evil-collection-ediff-long-help-message-compare3-backup ediff-long-help-message-compare3)
-(defvar evil-collection-ediff-long-help-message-narrow2-backup ediff-long-help-message-narrow2)
-(defvar evil-collection-ediff-long-help-message-word-backup ediff-long-help-message-word-mode)
-(defvar evil-collection-ediff-long-help-message-merge-backup ediff-long-help-message-merge)
-(defvar evil-collection-ediff-long-help-message-head-backup ediff-long-help-message-head)
-(defvar evil-collection-ediff-long-help-message-tail-backup ediff-long-help-message-tail)
-
-(defvar evil-collection-ediff-help-changed nil)
-
-(defun evil-collection-ediff-adjust-help ()
- "Adjust long help messages to reflect evil-ediff bindings."
- (unless evil-collection-ediff-help-changed
- (dolist (msg '(ediff-long-help-message-compare2
- ediff-long-help-message-compare3
- ediff-long-help-message-narrow2
- ediff-long-help-message-word-mode
- ediff-long-help-message-merge
- ediff-long-help-message-head
- ediff-long-help-message-tail))
- (dolist (chng '( ;;("^" . " ")
- ("p,DEL -previous diff " . "k,N,p -previous diff ")
- ("n,SPC -next diff " . " j,n -next diff ")
- (" j -jump to diff " . " d -jump to diff ")
- (" h -highlighting " . " H -highlighting ")
- (" v/V -scroll up/dn " . "C-u/d -scroll up/dn ")
- (" </> -scroll lt/rt " . "zh/zl -scroll lt/rt ")
- (" z/q -suspend/quit" . "C-z/q -suspend/quit")))
- (setf (symbol-value msg)
- (replace-regexp-in-string (car chng) (cdr chng) (symbol-value msg))))))
- (setq evil-collection-ediff-help-changed t))
-
-(defun evil-collection-ediff-scroll-left (&optional arg)
- "Scroll left."
- (interactive "P")
- (let ((last-command-event ?>))
- (ediff-scroll-horizontally arg)))
-
-(defun evil-collection-ediff-scroll-right (&optional arg)
- "Scroll right."
- (interactive "P")
- (let ((last-command-event ?<))
- (ediff-scroll-horizontally arg)))
-
-(defun evil-collection-ediff-scroll-up (&optional arg)
- "Scroll up by half of a page."
- (interactive "P")
- (let ((last-command-event ?V))
- (ediff-scroll-vertically arg)))
-
-(defun evil-collection-ediff-scroll-down (&optional arg)
- "Scroll down by half of a page."
- (interactive "P")
- (let ((last-command-event ?v))
- (ediff-scroll-vertically arg)))
-
-(defun evil-collection-ediff-scroll-down-1 ()
- "Scroll down by a line."
- (interactive)
- (let ((last-command-event ?v))
- (ediff-scroll-vertically 1)))
-
-(defun evil-collection-ediff-scroll-up-1 ()
- "Scroll down by a line."
- (interactive)
- (let ((last-command-event ?V))
- (ediff-scroll-vertically 1)))
-
-(defun evil-collection-ediff-first-difference ()
- "Jump to first difference."
- (interactive)
- (ediff-jump-to-difference 1))
-
-(defun evil-collection-ediff-last-difference ()
- "Jump to last difference."
- (interactive)
- (ediff-jump-to-difference ediff-number-of-differences))
-
-;; (defun evil-collection-ediff-restore-diff ()
-;; "Restore the copy of current region."
-;; (interactive)
-;; (ediff-restore-diff nil ?a)
-;; (ediff-restore-diff nil ?b))
-
-(defvar evil-collection-ediff-bindings
- '(("d" . ediff-jump-to-difference)
- ("H" . ediff-toggle-hilit)
- ("\C-e" . evil-collection-ediff-scroll-down-1)
- ("\C-y" . evil-collection-ediff-scroll-up-1)
- ("j" . ediff-next-difference)
- ("k" . ediff-previous-difference)
- ("N" . ediff-previous-difference)
- ("gg" . evil-collection-ediff-first-difference)
- ("G" . evil-collection-ediff-last-difference)
- ("\C-d" . evil-collection-ediff-scroll-down)
- ("\C-u" . evil-collection-ediff-scroll-up)
- ("\C-z" . ediff-suspend)
- ("z" . nil)
- ("zl" . evil-collection-ediff-scroll-right)
- ("zh" . evil-collection-ediff-scroll-left)
- ;; Not working yet
- ;; ("u" . evil-collection-ediff-restore-diff)
- )
- "A list of bindings changed/added in evil-ediff.")
-
-(defun evil-collection-ediff-startup-hook ()
- "Place evil-ediff bindings in `ediff-mode-map'."
- (evil-make-overriding-map ediff-mode-map 'normal)
- (dolist (entry evil-collection-ediff-bindings)
- (define-key ediff-mode-map (car entry) (cdr entry)))
- (unless (or ediff-3way-comparison-job
- (eq ediff-split-window-function 'split-window-vertically))
- (define-key ediff-mode-map "l" 'ediff-copy-A-to-B)
- (define-key ediff-mode-map "h" 'ediff-copy-B-to-A))
- (evil-normalize-keymaps)
- nil)
-
-;;;###autoload
-(defun evil-collection-ediff-setup ()
- "Initialize evil-ediff."
- (interactive)
- (evil-set-initial-state 'ediff-mode 'normal)
- (add-hook 'ediff-keymap-setup-hook 'evil-collection-ediff-startup-hook)
- (evil-collection-ediff-adjust-help))
-
-(defun evil-collection-ediff-revert ()
- "Revert changes made by evil-ediff."
- (interactive)
- (evil-set-initial-state 'ediff-mode evil-collection-ediff-initial-state-backup)
- (unless evil-collection-ediff-help-changed
- (dolist (msg
- '((ediff-long-help-message-compare2 . ediff-long-help-message-compare2-backup)
- (ediff-long-help-message-compare3 . ediff-long-help-message-compare3-backup)
- (ediff-long-help-message-narrow2 . ediff-long-help-message-narrow2-backup)
- (ediff-long-help-message-word-mode . ediff-long-help-message-word-mode-backup)
- (ediff-long-help-message-merge . ediff-long-help-message-merge-backup)
- (ediff-long-help-message-head . ediff-long-help-message-head-backup)
- (ediff-long-help-message-tail . ediff-long-help-message-tail-backup)))
- (setf (symbol-value (car msg)) (symbol-value (cdr msg)))))
- (setq evil-collection-ediff-help-changed nil)
- (remove-hook 'ediff-keymap-setup-hook 'evil-collection-ediff-startup-hook))
-
-(provide 'evil-collection-ediff)
-;;; evil-collection-ediff.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/eglot/README.org b/.config/emacs/lisp/evil-collection/modes/eglot/README.org
deleted file mode 100644
index b93d3c1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eglot/README.org
+++ /dev/null
@@ -1,19 +0,0 @@
-* eglot
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/eglot/index.html][eglot]], the built-in LSP client.
-
-** Key bindings (normal state)
-
- | Command | Original | Evil |
- |--------------------------------------+-----------+-------|
- | =xref-find-definitions= | =M-.= | =gd= |
- | =xref-find-definitions-other-window= | =C-x 4 .= | =gD= |
- | =xref-find-definitions-other-frame= | =C-x 5 .= | =g5= |
- | =xref-pop-marker-stack= | =M-,= | =C-t= |
- | =eldoc-doc-buffer= | n/a | =K= |
- | =xref-find-references= | =M-?= | =gr= |
-
- =gr= is only bound when =evil-collection-want-find-usages-bindings= is non-nil.
-
- =eglot-managed-mode-hook= adds =evil-normalize-keymaps= so the bindings
- activate as soon as eglot manages a buffer.
diff --git a/.config/emacs/lisp/evil-collection/modes/eglot/evil-collection-eglot.el b/.config/emacs/lisp/evil-collection/modes/eglot/evil-collection-eglot.el
deleted file mode 100644
index 6633107..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eglot/evil-collection-eglot.el
+++ /dev/null
@@ -1,50 +0,0 @@
-;;; evil-collection-eglot.el --- Bindings for `eglot' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, eglot, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `eglot'.
-
-;;; Code:
-(require 'eglot nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-eglot-maps '(eglot-mode-map))
-
-;;;###autoload
-(defun evil-collection-eglot-setup ()
- "Set up `evil' bindings for `eglot'."
- (add-hook 'eglot-managed-mode-hook 'evil-normalize-keymaps)
- (evil-collection-define-key 'normal 'eglot-mode-map
- "gd" 'xref-find-definitions
- "gD" 'xref-find-definitions-other-window
- "g5" 'xref-find-definitions-other-frame
- (kbd "C-t") 'xref-pop-marker-stack
- "K" 'eldoc-doc-buffer)
-
- (when evil-collection-want-find-usages-bindings
- (evil-collection-define-key 'normal 'eglot-mode-map
- "gr" 'xref-find-references)))
-
-(provide 'evil-collection-eglot)
-;;; evil-collection-eglot.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/eldoc/README.org b/.config/emacs/lisp/evil-collection/modes/eldoc/README.org
deleted file mode 100644
index 1f1f776..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eldoc/README.org
+++ /dev/null
@@ -1,19 +0,0 @@
-* eldoc
-
- Evil bindings for the buffer popped by =eldoc-doc-buffer=.
-
-** Key bindings
-
- Applied via =evil-collection-eldoc-doc-buffer-mode=, a minor mode attached
- to the =*eldoc*= buffer.
-
- | Command | Original | Evil |
- |---------------+----------+-----------|
- | =quit-window= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
-
-** Notes
-
- On Emacs < 29, the minor mode is attached via advice on =eldoc-doc-buffer=.
- On Emacs 29+, eldoc buffers derive from =special-mode=, which
- evil-collection covers separately.
diff --git a/.config/emacs/lisp/evil-collection/modes/eldoc/evil-collection-eldoc.el b/.config/emacs/lisp/evil-collection/modes/eldoc/evil-collection-eldoc.el
deleted file mode 100644
index 698ab10..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eldoc/evil-collection-eldoc.el
+++ /dev/null
@@ -1,67 +0,0 @@
-;;; evil-collection-eldoc.el --- Bindings for `eldoc' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `eldoc'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'eldoc nil t)
-
-(defconst evil-collection-eldoc-maps
- '(evil-collection-eldoc-doc-buffer-mode-map))
-
-(defvar eldoc--doc-buffer) ;; Internal to `eldoc'.
-
-(defvar evil-collection-eldoc-doc-buffer-mode-map (make-sparse-keymap))
-
-(define-minor-mode evil-collection-eldoc-doc-buffer-mode
- "A minor mode to attach to `eldoc-doc-buffer' buffers."
- :group 'evil-collection-eldoc-mode
- :keymap evil-collection-eldoc-doc-buffer-mode-map
- :lighter nil)
-
-(defun evil-collection-eldoc-setup-doc-buffer-mode (&rest _)
- "Set up `evil-collection-eldoc-doc-buffer-mode'."
- (with-current-buffer eldoc--doc-buffer
- (evil-collection-eldoc-doc-buffer-mode +1)
- (evil-normalize-keymaps)))
-
-;;;###autoload
-(defun evil-collection-eldoc-setup ()
- "Set up `evil' bindings for `eldoc'."
- (evil-collection-define-key 'normal 'evil-collection-eldoc-doc-buffer-mode-map
- "q" #'quit-window
- "ZZ" #'quit-window
- "ZQ" #'evil-quit)
-
- ;; 'special-mode' is used in eldoc since
- ;; https://github.com/emacs-mirror/emacs/commit/97abe8511a829861f6efb865209ac2dd0e7ae129
- (when (< emacs-major-version 29)
- ;; Enable a separate minor mode so that we can bind keys to it.
- (advice-add 'eldoc-doc-buffer
- :after 'evil-collection-eldoc-setup-doc-buffer-mode)))
-
-(provide 'evil-collection-eldoc)
-;;; evil-collection-eldoc.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/elfeed/README.org b/.config/emacs/lisp/evil-collection/modes/elfeed/README.org
deleted file mode 100644
index b1f2dcd..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elfeed/README.org
+++ /dev/null
@@ -1,64 +0,0 @@
-* elfeed
-
- Evil bindings for [[https://github.com/skeeto/elfeed][elfeed]].
-
- Standard motion / quit bindings (=gg=, =G=, =j=, =k=, =q=, =ZZ=, =ZQ=) come
- from =evil-collection-set-readonly-bindings= and are not repeated below.
-
-** elfeed-search-mode-map
-
- | Command | Original | Evil |
- |----------------------------------+----------+---------------------|
- | =elfeed-search-show-entry= | =RET= | =RET= |
- | =elfeed-search-browse-url= | =b= | =S-RET=, =go= |
- | =elfeed-search-yank= | =y= | =y= |
- | =elfeed-search-live-filter= | =s= | =s= |
- | =elfeed-search-set-filter= | =S= | =S= |
- | =elfeed-search-clear-filter= | =c= | =c= |
- | =elfeed-search-fetch= | =G= | =gR= |
- | =revert-buffer= | =g= | =gr= |
- | =elfeed-search-tag-all= | =+= | =+= |
- | =elfeed-search-untag-all= | =-= | =-= |
- | =elfeed-search-tag-all-unread= | =u= | =U= |
- | =elfeed-search-untag-all-unread= | =r= | =u= |
- | =scroll-up-command= | n/a | =SPC= |
- | =scroll-down-command= | n/a | =S-SPC= |
- | =elfeed-search-quit-window= | =q= | =q=, =ZQ=, =ZZ= ([[#fallbacks][†]]) |
-
-** elfeed-show-mode-map
-
- | Command | Original | Evil |
- |-----------------------------------------+----------+-------------------|
- | =elfeed-show-visit= | =b= | =S-RET=, =go= |
- | =elfeed-show-yank= | =y= | =yu= |
- | =elfeed-show-next= | =n= | =]]=, =gj=, =C-j= |
- | =elfeed-show-prev= | =p= | =[[=, =gk=, =C-k= |
- | =elfeed-show-refresh= | n/a | =gr= |
- | =elfeed-show-new-live-search= | =s= | =s= |
- | =elfeed-show-tag= | =+= | =+= |
- | =elfeed-show-untag= | =-= | =-= |
- | =elfeed-show-play-enclosure= | =P= | =P= |
- | =elfeed-show-add-enclosure-to-playlist= | =A= | =A= |
- | =elfeed-show-save-enclosure= | =d= | =d= |
- | =elfeed-show-next-link= | =TAB= | =TAB= |
- | =scroll-up-command= | =SPC= | =SPC= |
- | =scroll-down-command= | =S-SPC= | =S-SPC= |
- | =elfeed-kill-buffer= | =q= | =q=, =ZQ=, =ZZ= |
-
-** elfeed-tree-mode-map
-
- | Command | Original | Evil |
- |----------------------+----------+-------|
- | =elfeed-tree-search= | =RET= | =RET= |
-
-** Fallbacks
- :PROPERTIES:
- :CUSTOM_ID: fallbacks
- :END:
-
- Two version-compat fallbacks fire only when running older elfeed:
-
- - Before elfeed commit =518e5bd3= (no =revert-buffer-function=), =gr= calls
- =elfeed-search-update--force= instead of =revert-buffer=.
- - Before elfeed commit =2ef14c92= (no =quit-window-hook= save), =q=, =ZQ=,
- =ZZ= use =elfeed-search-quit-window= to persist the db on exit.
diff --git a/.config/emacs/lisp/evil-collection/modes/elfeed/evil-collection-elfeed.el b/.config/emacs/lisp/evil-collection/modes/elfeed/evil-collection-elfeed.el
deleted file mode 100644
index c691575..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elfeed/evil-collection-elfeed.el
+++ /dev/null
@@ -1,139 +0,0 @@
-;;; evil-collection-elfeed.el --- Evil bindings for elfeed -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, elfeed, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for elfeed.
-
-;;; Code:
-(require 'elfeed nil t)
-(require 'evil-collection)
-
-(defvar elfeed-search-mode-map)
-(defvar elfeed-show-mode-map)
-(defvar elfeed-tree-mode-map)
-
-(defconst evil-collection-elfeed-maps '(elfeed-search-mode-map
- elfeed-show-mode-map
- elfeed-tree-mode-map))
-
-;;;###autoload
-(defun evil-collection-elfeed-setup ()
- "Set up `evil' bindings for `elfeed'."
-
- (evil-collection-set-readonly-bindings 'elfeed-search-mode-map)
- (evil-set-initial-state 'elfeed-search-mode 'normal)
- (evil-collection-define-key 'normal 'elfeed-search-mode-map
- ;; open
- (kbd "RET") 'elfeed-search-show-entry
- (kbd "S-<return>") 'elfeed-search-browse-url
- "go" 'elfeed-search-browse-url
-
- "y" 'elfeed-search-yank
-
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
-
- ;; filter
- "s" 'elfeed-search-live-filter
- "S" 'elfeed-search-set-filter
- "c" 'elfeed-search-clear-filter
-
- ;; refresh
- "gR" 'elfeed-search-fetch ; TODO: Which update function is more useful?
- "gr" 'revert-buffer
-
- ;; quit -- `q'/`ZZ' default to `quit-window' via
- ;; `evil-collection-set-readonly-bindings'.
- "ZQ" 'quit-window)
-
- ;; Refresh fallback for elfeed before commit 518e5bd3, where
- ;; `revert-buffer-function' is not wired up.
- (unless (fboundp 'elfeed-search--update-force)
- (evil-collection-define-key 'normal 'elfeed-search-mode-map
- "gr" 'elfeed-search-update--force))
-
- ;; Quit fallback for elfeed before commit 2ef14c92, where
- ;; `quit-window-hook' does not run `elfeed-db-save'.
- (when (and (fboundp 'elfeed-search-quit-window)
- (not (eq (indirect-function 'elfeed-search-quit-window)
- (symbol-function 'quit-window))))
- (evil-collection-define-key 'normal 'elfeed-search-mode-map
- "q" 'elfeed-search-quit-window
- "ZQ" 'elfeed-search-quit-window
- "ZZ" 'elfeed-search-quit-window))
-
- (evil-collection-define-key '(normal visual) 'elfeed-search-mode-map
- "+" 'elfeed-search-tag-all
- "-" 'elfeed-search-untag-all
- "U" 'elfeed-search-tag-all-unread
- "u" 'elfeed-search-untag-all-unread)
-
- (evil-collection-set-readonly-bindings 'elfeed-show-mode-map)
- (evil-set-initial-state 'elfeed-show-mode 'normal)
- (evil-collection-define-key 'normal 'elfeed-show-mode-map
- (kbd "S-<return>") 'elfeed-show-visit
- "go" 'elfeed-show-visit
-
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'elfeed-show-next-link
-
- ;; filter
- "s" 'elfeed-show-new-live-search
-
- "+" 'elfeed-show-tag
- "-" 'elfeed-show-untag
-
- "A" 'elfeed-show-add-enclosure-to-playlist
- "P" 'elfeed-show-play-enclosure
- "d" 'elfeed-show-save-enclosure
-
- "]]" 'elfeed-show-next
- "[[" 'elfeed-show-prev
- "gj" 'elfeed-show-next
- "gk" 'elfeed-show-prev
- (kbd "C-j") 'elfeed-show-next
- (kbd "C-k") 'elfeed-show-prev
-
- ;; refresh
- "gr" 'elfeed-show-refresh
-
- ;; quit
- "q" 'elfeed-kill-buffer
- "ZQ" 'elfeed-kill-buffer
- "ZZ" 'elfeed-kill-buffer)
-
- ;; yu, like `eww'
- (evil-collection-define-operator-key 'yank 'elfeed-show-mode-map
- "u" 'elfeed-show-yank)
-
- (evil-collection-set-readonly-bindings 'elfeed-tree-mode-map)
- (evil-set-initial-state 'elfeed-tree-mode 'normal)
- (evil-collection-define-key 'normal 'elfeed-tree-mode-map
- ;; open
- (kbd "RET") 'elfeed-tree-search))
-
-(provide 'evil-collection-elfeed)
-;;; evil-collection-elfeed.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/elisp-mode/README.org b/.config/emacs/lisp/evil-collection/modes/elisp-mode/README.org
deleted file mode 100644
index 1fbd2a9..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elisp-mode/README.org
+++ /dev/null
@@ -1,23 +0,0 @@
-* elisp-mode
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/elisp/index.html][Emacs Lisp]] editing (=emacs-lisp-mode= and
- =emacs-lisp-compilation-mode=).
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------------------------------------------+----------+------|
- | =evil-collection-elisp-mode-ielm-repl= (=elisp-mode=) | n/a | =gz= |
- | =emacs-lisp-compilation-recompile= | n/a | =gr= |
- | =xref-find-references= (when find-usages enabled) | =M-?= | =gr= |
-
- In the =*Help*= printed-value overlay (=eval-print-last-sexp= output), =RET=
- in normal/motion state calls =elisp-last-sexp-toggle-display=; in insert
- state =RET= falls through to the global binding.
-
-** Notes
-
- - =elisp--eval-last-sexp= is advised so its output ends at point in
- normal/motion state when =evil-move-beyond-eol= is nil.
- - =last-sexp-setup-props= is overridden to install an evil-aware =C-m=
- handler on the printed-value text properties.
diff --git a/.config/emacs/lisp/evil-collection/modes/elisp-mode/evil-collection-elisp-mode.el b/.config/emacs/lisp/evil-collection/modes/elisp-mode/evil-collection-elisp-mode.el
deleted file mode 100644
index b92f262..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elisp-mode/evil-collection-elisp-mode.el
+++ /dev/null
@@ -1,99 +0,0 @@
-;;; evil-collection-elisp-mode.el --- Bindings for `elisp-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, elisp, lisp
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `elisp-mode'.
-
-;;; Code:
-(require 'elisp-mode)
-(require 'evil-collection)
-
-(defconst evil-collection-elisp-mode-maps '(emacs-lisp-mode-map
- emacs-lisp-compilation-mode-map))
-
-(defun evil-collection-elisp-mode-last-sexp-setup-props (beg end value alt1 alt2)
- "Set up text properties for the output of `elisp--eval-last-sexp'.
-BEG and END are the start and end of the output in current-buffer.
-VALUE is the Lisp value printed, ALT1 and ALT2 are strings for the
-alternative printed representations that can be displayed."
- (let ((map (make-sparse-keymap)))
- (define-key map (kbd "C-m") 'evil-collection-elisp-mode-return-or-last-sexp-toggle-display)
- (define-key map [down-mouse-2] 'mouse-set-point)
- (define-key map [mouse-2] 'elisp-last-sexp-toggle-display)
- (add-text-properties
- beg end
- `(printed-value (,value ,alt1 ,alt2)
- mouse-face highlight
- keymap ,map
- help-echo "RET, mouse-2: toggle abbreviated display"
- rear-nonsticky (mouse-face keymap help-echo
- printed-value)))))
-
-(defun evil-collection-elisp-mode-return-or-last-sexp-toggle-display ()
- "Trigger RET or call `elisp-last-sexp-toggle-display'."
- (interactive)
- (if (eq evil-state 'insert)
- (call-interactively
- (lookup-key (current-global-map) (kbd "C-m")))
- (call-interactively 'elisp-last-sexp-toggle-display)))
-
-(defun evil-collection-elisp-mode-last-sexp (command &rest args)
- "In normal-state or motion-state, last sexp ends at point."
- (if (and (not evil-move-beyond-eol)
- (or (evil-normal-state-p) (evil-motion-state-p)))
- (save-excursion
- (unless (or (eobp) (eolp)) (forward-char))
- (apply command args))
- (apply command args)))
-
-(defun evil-collection-elisp-mode-ielm-repl ()
- "Open the Emacs Lisp REPL (`ielm')."
- (interactive)
- (pop-to-buffer (get-buffer-create "*ielm*"))
- (ielm))
-
-;;;###autoload
-(defun evil-collection-elisp-mode-setup ()
- "Set up `evil' bindings for `elisp-mode'."
- (add-hook 'emacs-lisp-compilation-mode-hook 'evil-normalize-keymaps)
-
- (unless evil-move-beyond-eol
- (advice-add 'eval-print-last-sexp :around 'evil-collection-elisp-mode-last-sexp))
- (advice-add 'last-sexp-setup-props
- :override 'evil-collection-elisp-mode-last-sexp-setup-props)
-
- (evil-set-initial-state 'emacs-lisp-mode 'normal)
- (evil-collection-define-key 'normal 'emacs-lisp-mode-map
- "gz" 'evil-collection-elisp-mode-ielm-repl)
-
- (evil-collection-define-key 'normal 'emacs-lisp-compilation-mode-map
- "gr" 'emacs-lisp-compilation-recompile)
-
- (when evil-collection-want-find-usages-bindings
- (evil-collection-define-key 'normal 'emacs-lisp-mode-map
- "gr" 'xref-find-references)))
-
-(provide 'evil-collection-elisp-mode)
-;;; evil-collection-elisp-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/elisp-refs/README.org b/.config/emacs/lisp/evil-collection/modes/elisp-refs/README.org
deleted file mode 100644
index fe6eb22..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elisp-refs/README.org
+++ /dev/null
@@ -1,12 +0,0 @@
-* elisp-refs
-
- Evil bindings for [[https://github.com/Wilfred/elisp-refs][elisp-refs]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------+--------------+----------------------|
- | =elisp-refs-next-match= | =n=, =TAB= | =TAB=, =C-j=, =gj= |
- | =elisp-refs-prev-match= | =p=, =S-TAB= | =S-TAB=, =C-k=, =gk= |
- | =elisp-refs-visit-match= | =RET= | =RET= |
- | =kill-current-buffer= | n/a | =q= |
diff --git a/.config/emacs/lisp/evil-collection/modes/elisp-refs/evil-collection-elisp-refs.el b/.config/emacs/lisp/evil-collection/modes/elisp-refs/evil-collection-elisp-refs.el
deleted file mode 100644
index c146c04..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elisp-refs/evil-collection-elisp-refs.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; evil-collection-elisp-refs.el --- Evil bindings for Elisp Refs -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2024 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, elisp-refs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; This package provides a sane set of defaults for `elisp-refs' when using
-;; `evil-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'elisp-refs nil t)
-
-(defconst evil-collection-elisp-refs-maps '(elisp-refs-mode-map))
-
-;;;###autoload
-(defun evil-collection-elisp-refs-setup ()
- "Set up `evil' bindings for `elisp-refs'."
- (evil-collection-define-key 'normal 'elisp-refs-mode-map
- (kbd "<tab>") 'elisp-refs-next-match
- (kbd "<backtab>") 'elisp-refs-prev-match
- (kbd "C-j") 'elisp-refs-next-match
- (kbd "C-k") 'elisp-refs-prev-match
- "gj" 'elisp-refs-next-match
- "gk" 'elisp-refs-prev-match
- (kbd "RET") 'elisp-refs-visit-match
-
- ;; quit
- "q" 'kill-current-buffer))
-
-(provide 'evil-collection-elisp-refs)
-;;; evil-collection-elisp-refs.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/elisp-slime-nav/README.org b/.config/emacs/lisp/evil-collection/modes/elisp-slime-nav/README.org
deleted file mode 100644
index 97a2d86..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elisp-slime-nav/README.org
+++ /dev/null
@@ -1,11 +0,0 @@
-* elisp-slime-nav
-
- Evil bindings for [[https://github.com/purcell/elisp-slime-nav][elisp-slime-nav]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------------------------------------+-----------------------------+-------|
- | =elisp-slime-nav-find-elisp-thing-at-point= | =M-.= | =gd= |
- | =pop-tag-mark= | =M-,= | =C-t= |
- | =elisp-slime-nav-describe-elisp-thing-at-point= | =C-c C-d C-d= / =C-c C-d d= | =K= |
diff --git a/.config/emacs/lisp/evil-collection/modes/elisp-slime-nav/evil-collection-elisp-slime-nav.el b/.config/emacs/lisp/evil-collection/modes/elisp-slime-nav/evil-collection-elisp-slime-nav.el
deleted file mode 100644
index c3d9f04..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elisp-slime-nav/evil-collection-elisp-slime-nav.el
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; evil-collection-elisp-slime-nav.el --- Bindings for `elisp-slime-nav' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, elisp-slime-nav, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `elisp-slime-nav'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'elisp-slime-nav nil t)
-
-(defconst evil-collection-elisp-slime-nav-maps '(elisp-slime-nav-mode-map))
-
-;;;###autoload
-(defun evil-collection-elisp-slime-nav-setup ()
- "Set up `evil' bindings for `elisp-slime-nav'."
- (evil-collection-define-key 'normal 'elisp-slime-nav-mode-map
- "gd" 'elisp-slime-nav-find-elisp-thing-at-point
- (kbd "C-t") 'pop-tag-mark
- "K" 'elisp-slime-nav-describe-elisp-thing-at-point))
-
-(provide 'evil-collection-elisp-slime-nav)
-;;; evil-collection-elisp-slime-nav.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/elpaca/evil-collection-elpaca.el b/.config/emacs/lisp/evil-collection/modes/elpaca/evil-collection-elpaca.el
deleted file mode 100644
index c501f91..0000000
--- a/.config/emacs/lisp/evil-collection/modes/elpaca/evil-collection-elpaca.el
+++ /dev/null
@@ -1,118 +0,0 @@
-;;; evil-collection-elpaca.el --- Bindings for `elpaca' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2023 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `elpaca'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'elpaca nil t)
-(require 'elpaca-ui nil t)
-
-(defvar elpaca-info-mode-map)
-(defvar elpaca-ui-mode-map)
-(defvar elpaca-ui-view-map)
-(declare-function elpaca-ui-search "elpaca-ui")
-(declare-function elpaca-ui-visit "elpaca-ui")
-
-
-(defconst evil-collection-elpaca-maps '(elpaca-info-mode-map
- elpaca-ui-mode-map))
-
-(defcustom evil-collection-elpaca-want-movement t
- "When non nil, prioritize movement keys like \"h\", \"l\", \"b\", etc."
- :group 'evil-collection
- :type 'boolean)
-
-(defcustom evil-collection-elpaca-want-v t
- "When non nil, use v for visual mode.
-When this is true, move the `elpaca-visit' to gv and gd."
- :group 'evil-collection
- :type 'boolean)
-
-(defun evil-collection-elpaca-ui-visit-build-dir ()
- "Visit package's build-dir."
- (interactive)
- (elpaca-ui-visit 'build))
-
-(defmacro evil-collection-elpaca-defsearch (name query)
- "Return search command with NAME for QUERY."
- (declare (indent 1) (debug t))
- `(defun ,(intern (format "elpaca-ui-search-%s" name)) ()
- ,(format "Search for %S" query)
- (interactive)
- (elpaca-ui-search ,query)))
-
-(defun evil-collection-elpaca-setup ()
- "Set up `evil' bindings for elpaca."
- (evil-collection-define-key 'normal 'elpaca-ui-view-map
- (kbd "a") (evil-collection-elpaca-defsearch marked "#unique #marked")
- (kbd "i") (evil-collection-elpaca-defsearch installed "#unique #installed")
- (kbd "l") 'elpaca-log
- (kbd "m") 'elpaca-manager
- (kbd "o") (evil-collection-elpaca-defsearch orphaned "#unique #orphan")
- (kbd "r") 'elpaca-ui-search-refresh
- (kbd "t") (evil-collection-elpaca-defsearch tried "#unique #installed !#declared")
- (kbd "b") 'evil-collection-elpaca-ui-visit-build-dir)
-
- (evil-collection-define-key 'normal 'elpaca-info-mode-map
- (kbd "TAB") 'forward-button
- (kbd "<tab>") 'forward-button
- (kbd "S-TAB") 'backward-button
- (kbd "<backtab>") 'backward-button
- (kbd "i") 'elpaca-info
- (kbd "s") 'elpaca-info)
-
- (evil-collection-define-key 'normal 'elpaca-ui-mode-map
- (kbd "RET") 'elpaca-ui-info
- (kbd "!") 'elpaca-ui-send-input
- (kbd "+") 'elpaca-ui-show-hidden-rows
- (kbd "c") 'elpaca-ui-copy
- (kbd "d") 'elpaca-ui-mark-delete
- (kbd "g") elpaca-ui-view-map
- (kbd "i") 'elpaca-ui-mark-try
- (kbd "m") 'elpaca-ui-mark-merge
- (kbd "p") 'elpaca-ui-mark-pull
- (kbd "r") 'elpaca-ui-mark-rebuild
- (kbd "s") 'elpaca-ui-search
- (kbd "u") 'elpaca-ui-unmark
- (kbd "x") 'elpaca-ui-execute-marks)
-
- (if evil-collection-elpaca-want-v
- (evil-collection-define-key 'normal 'elpaca-ui-view-map
- (kbd "v") 'elpaca-ui-visit)
- (evil-collection-define-key 'normal 'elpaca-ui-mode-map
- (kbd "v") 'elpaca-ui-visit))
-
- (if evil-collection-elpaca-want-movement
- (evil-collection-define-key 'normal 'elpaca-ui-mode-map
- (kbd "B") 'elpaca-ui-browse-package ;; b -> B
- (kbd "F") 'elpaca-ui-mark-fetch ;; f -> F
- )
- (evil-collection-define-key 'normal 'elpaca-ui-mode-map
- (kbd "b") 'elpaca-ui-browse-package
- (kbd "f") 'elpaca-ui-mark-fetch)))
-
-(provide 'evil-collection-elpaca)
-;;; evil-collection-elpaca.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/embark/README.org b/.config/emacs/lisp/evil-collection/modes/embark/README.org
deleted file mode 100644
index 3a76f32..0000000
--- a/.config/emacs/lisp/evil-collection/modes/embark/README.org
+++ /dev/null
@@ -1,19 +0,0 @@
-* embark
-
- Evil bindings for [[https://github.com/oantolin/embark][embark]]. Only
- =embark-collect-mode-map= is touched -- the embark action keymaps
- (=embark-general-map=, =embark-file-map=, ...) are left alone so embark's own
- prefix UI keeps working.
-
-** embark-collect-mode-map
-
- Initial state is forced to normal.
-
- | Command | Original | Evil |
- |-------------------------------------------+----------+-------|
- | =embark-act= | =a= | =a= |
- | =embark-act-all= | =A= | =A= |
- | =embark-export= | =E= | =E= |
- | =embark-select= | n/a | =m= |
- | =embark-collect-direct-action-minor-mode= | =M-a= | =M-a= |
- | =revert-buffer= | =g= | =gr= |
diff --git a/.config/emacs/lisp/evil-collection/modes/embark/evil-collection-embark.el b/.config/emacs/lisp/evil-collection/modes/embark/evil-collection-embark.el
deleted file mode 100644
index c22d294..0000000
--- a/.config/emacs/lisp/evil-collection/modes/embark/evil-collection-embark.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; evil-collection-embark.el --- Evil bindings for embark -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for embark.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'embark nil t)
-
-(defconst evil-collection-embark-maps '(embark-collect-mode-map))
-
-;;;###autoload
-(defun evil-collection-embark-setup ()
- "Set up `evil' bindings for `embark'."
- (evil-set-initial-state 'embark-collect-mode 'normal)
- (evil-collection-define-key 'normal 'embark-collect-mode-map
- ;; embark specific commands. `isearch-forward' isn't defined, use
- ;; `evil-search-forward' instead.
- "a" 'embark-act
- "A" 'embark-act-all
- "E" 'embark-export ;; was e
- "m" 'embark-select
- (kbd "M-a") 'embark-collect-direct-action-minor-mode
-
- "gr" 'revert-buffer))
-
-(provide 'evil-collection-embark)
-;;; evil-collection-embark.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ement/evil-collection-ement.el b/.config/emacs/lisp/evil-collection/modes/ement/evil-collection-ement.el
deleted file mode 100644
index a9c7a1b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ement/evil-collection-ement.el
+++ /dev/null
@@ -1,138 +0,0 @@
-;;; evil-collection-ement.el --- Evil integration for Ement.el -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2023 Nicholas Vollmer
-
-;; Author: Nicholas Vollmer
-;; Keywords: convenience
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.0
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Evil bindings for Ement.el
-
-;;; Code:
-(require 'evil-collection)
-(require 'ement nil t)
-(require 'ement-room-list nil t)
-
-(defgroup evil-collection-ement nil
- "Evil bindings for Ement.el."
- :group 'evil-collection)
-
-(defcustom evil-collection-ement-want-auto-retro nil
- "When non-nil, automatically run `ement-room-retro' when scrolled up at `bob'."
- :type 'boolean)
-
-(defconst evil-collection-ement-maps '(ement-describe-room-mode-map
- ement-directory-mode-map
- ement-room-list-mode-map
- ement-room-mode-map))
-
-(declare-function ement-room-retro "ement-room")
-(defun evil-collection-ement--auto-retro ()
- "Call `ement-room-retro' scroll requested from beginning of buffer hit."
- (and (= (line-beginning-position) (point-min))
- (not (eq evil-state 'emacs))
- (member this-command '(previous-line evil-scroll-up))
- (call-interactively #'ement-room-retro)
- (setq this-command 'ement-room-retro)))
-
-(defun evil-collection-ement--install-auto-retro ()
- "Install `evil-collection-ement--auto-retro'."
- (add-hook 'post-command-hook #'evil-collection-ement--auto-retro nil t))
-
-(defun evil-collection-ement-setup ()
- "Set up `evil' bindings for Ement.el."
- (evil-collection-define-key 'normal 'ement-describe-room-mode-map
- (kbd "q") 'quit-window)
-
- (evil-collection-define-key 'normal 'ement-directory-mode-map
- (kbd "RET") 'ement-directory-RET
- (kbd "<return>") 'ement-directory-RET
- (kbd "s") 'ement-directory-search
- (kbd "q") 'quit-window)
-
- (evil-collection-define-key 'normal 'ement-room-list-mode-map
- (kbd "d") 'ement-room-list-kill-buffer
- (kbd "x") 'ement-room-leave
- (kbd "X") 'ement-forget-room
- (kbd "RET") 'ement-room-list-RET
- (kbd "<return>") 'ement-room-list-RET)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'ement-room-mode-map
- (kbd "<return>") 'ement-room-send-message
- (kbd "RET") 'ement-room-send-message)
- (evil-collection-define-key newline-state 'ement-room-mode-map
- (kbd "<return>") 'newline
- (kbd "RET") 'newline))
-
- (evil-collection-define-key '(normal motion) 'ement-room-mode-map
- (kbd "<") 'ement-room-transient
- (kbd "M-RET") 'ement-room-compose-message
- (kbd "<M-return>") 'ement-room-compose-message
- (kbd "a") 'ement-room-send-message
- (kbd "A") 'ement-room-compose-message
- (kbd "d") 'ement-room-delete-message
- (kbd "D") 'ement-room-delete-message
- (kbd "J") 'ement-room-write-reply
- (kbd "]]") 'ement-room-goto-next
- (kbd "[[") 'ement-room-goto-prev
- (kbd "gr") 'ement-room-sync
- (kbd "gu") 'ement-room-goto-fully-read-marker
- (kbd "gm") 'ement-room-mark-read
- (kbd "gv") 'ement-room-view-event
- (kbd "i") 'ement-room-edit-message
- (kbd "q") 'quit-window
- ;; Room prefix bindings
- (kbd "r/") 'ement-room-occur
- (kbd "rd") 'ement-room-describe
- (kbd "rf") 'ement-room-set-message-format
- (kbd "rl") 'ement-room-list
- (kbd "rm") 'ement-list-members
- (kbd "rn") 'ement-room-override-name
- (kbd "rN") 'ement-room-set-notification-state
- (kbd "rt") 'ement-room-set-topic
- (kbd "rT") 'ement-tag-room
- ;; Room membership
- (kbd "Rc") 'ement-create-room
- (kbd "Rj") 'ement-room-join
- (kbd "Rl") 'ement-room-leave
- (kbd "RF") 'ement-room-forget
- (kbd "Rn") 'ement-room-set-display-name
- (kbd "Rs") 'ement-room-toggle-space
- ;; Send prefix bindings
- (kbd "se") 'ement-room-send-emote
- (kbd "sf") 'ement-room-send-file
- (kbd "si") 'ement-room-send-image
- (kbd "sr") 'ement-room-send-reaction
- ;; User prefix bindings
- (kbd "ui") 'ement-invite-user
- (kbd "uI") 'ement-ignore-user
- (kbd "u RET") 'ement-send-direct-message
- (kbd "u <return>") 'ement-send-direct-message)
-
- (when evil-collection-ement-want-auto-retro
- (add-hook 'ement-room-mode-hook #'evil-collection-ement--install-auto-retro))
- nil)
-
-(provide 'evil-collection-ement)
-;;; evil-collection-ement.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/emms/README.org b/.config/emacs/lisp/evil-collection/modes/emms/README.org
deleted file mode 100644
index cd6d6af..0000000
--- a/.config/emacs/lisp/evil-collection/modes/emms/README.org
+++ /dev/null
@@ -1,131 +0,0 @@
-* emms
-
- Evil bindings for [[https://www.gnu.org/software/emms/][EMMS]].
-
-** emms-browser-mode-map
-
- Insert state is inhibited; the browser is forced into normal state.
-
- | Command | Original | Evil |
- |--------------------------------------------+-------------+-------------------|
- | =emms-pause= | =P= | =x= |
- | =emms-stop= | =s= | =X= |
- | =emms-random= | =r= | =r= |
- | =emms-seek-backward= | =<= | =<= |
- | =emms-seek-forward= | =>= | =>= |
- | =emms-browser-add-tracks= | =RET= | =RET= |
- | =emms-browser-add-tracks-and-play= | =C-RET= | =C-RET= |
- | =emms-volume-raise= | =+= | =+=, === |
- | =emms-volume-lower= | =-= | =-= |
- | =emms-playlist-mode-undo= | =C-/= | =u= |
- | =emms-browser-prev-non-track= | =<backtab>= | =[[=, =C-k=, =gk= |
- | =emms-browser-next-non-track= | n/a | =]]=, =C-j=, =gj= |
- | =emms-browser-toggle-subitems-recursively= | n/a | =TAB=, =S-TAB= |
- | =emms-browser-move-up-level= | =^= | =^= |
- | =emms-browser-toggle-subitems= | =SPC= | =SPC= |
- | =emms-browser-collapse-all= | =1= | =g1=, =zm=, =zc= |
- | =emms-browser-expand-to-level-2= | =2= | =g2= |
- | =emms-browser-expand-to-level-3= | =3= | =g3= |
- | =emms-browser-expand-to-level-4= | =4= | =g4= |
- | =emms-browser-expand-all= | =E= | =g0=, =zr= |
- | =emms-browser-expand-one-level= | n/a | =zo= |
- | =emms-browse-by-artist= | =b 1= | =ga= |
- | =emms-browse-by-album= | =b 2= | =gA= |
- | =emms-browse-by-genre= | =b 3= | =gb= |
- | =emms-browse-by-year= | =b 4= | =gy= |
- | =emms-browse-by-composer= | =b 5= | =gc= |
- | =emms-browse-by-performer= | =b 6= | =gp= |
- | =emms-isearch-buffer= | =/= | =/= |
- | =isearch-repeat-forward= | n/a | =n= |
- | =isearch-repeat-backward= | n/a | =N= |
- | =emms-browser-clear-playlist= | =C= | =C= |
- | =emms-browser-delete-files= | =D= | (default) |
- | =emms-browser-remove-tracks= | n/a | =D= |
- | =emms-browser-view-in-dired= | =d= | =d=, =gd= |
- | (parent =W= prefix) | =W= | =g= |
- | (parent =s= prefix) | =s= | =s= |
-
-** emms-playlist-mode-map
-
- Initial evil state is normal.
-
- | Command | Original | Evil |
- |-----------------------------------------------------------+------------+-------------|
- | =emms-pause= | =P= | =x= |
- | =emms-stop= | =s= | =X= |
- | =emms-random= | =r= | =r= |
- | =emms-seek-backward= | =<= | =<= |
- | =emms-seek-forward= | =>= | =>= |
- | =emms-next= | =n= | =C-j=, =gj= |
- | =emms-previous= | =p= | =C-k=, =gk= |
- | =emms-playlist-mode-play-smart= | =RET= | =RET= |
- | =emms-volume-raise= | =+= | =+=, === |
- | =emms-volume-lower= | =-= | =-= |
- | =emms-playlist-mode-undo= | =C-/= | =u= |
- | =emms-playlist-mode-first= | =M-<= | =gg= |
- | =emms-playlist-mode-last= | =M->= | =G= |
- | =emms-playlist-mode-next= | =M-n= | =]]= |
- | =emms-playlist-mode-previous= | =M-p= | =[[= |
- | =emms-playlist-mode-kill-track= | =C-k=, =D= | =D= |
- | =emms-playlist-clear= | =C= | =C= |
- | =evil-collection-emms-playlist-mode-insert-newline-above= | n/a | =O= |
- | =evil-collection-emms-playlist-mode-insert-newline-below= | n/a | =o= |
- | =evil-collection-emms-playlist-mode-paste-before= | n/a | =P= |
- | =evil-collection-emms-playlist-mode-paste-after= | n/a | =p= |
- | =emms-tag-editor-edit= | n/a | =ze= |
- | =emms-tag-editor-rename= | n/a | =R= |
- | =emms-playlist-mode-center-current= | =c= | =.= |
- | =emms-playlist-mode-goto-dired-at-point= | =d= | =d=, =gd= |
- | =emms-show= | =f= | =zs= |
- | =emms-playlist-mode-add-contents= | =a= | =a= |
- | =emms-playlist-set-playlist-buffer= | =b= | =zp= |
- | (parent =S= sort prefix) | =S= | =S= |
- | (parent =/= filter prefix) | =/= | =s= |
- | =emms-playlist-mode-yank-pop= | =M-y= | =M-y= |
- | =emms-playlist-mode-kill= (visual) | =C-w= | =D= |
-
-** emms-browser-search-mode-map
-
- | Command | Original | Evil |
- |----------------------------+----------+------|
- | =emms-browser-kill-search= | n/a | =q= |
-
-** emms-metaplaylist-mode-map
-
- Initial evil state is normal.
-
- | Command | Original | Evil |
- |-----------------------------------------+----------+-------|
- | =emms-metaplaylist-mode-goto-current= | =RET= | =RET= |
- | =emms-metaplaylist-mode-set-active= | =SPC= | =SPC= |
- | =emms-metaplaylist-mode-update= | =g= | =gr= |
- | =emms-metaplaylist-mode-new-buffer= | =C= | =C= |
- | =emms-metaplaylist-mode-center-current= | =c= | =.= |
- | =emms-metaplaylist-mode-kill-buffer= | =C-k= | =D= |
- | =kill-current-buffer= | =q= | =q= |
-
-** emms-stream-mode-map
-
- Initial evil state is normal.
-
- | Command | Original | Evil |
- |-------------------------------------+----------+----------|
- | =emms-stream-play= | =RET= | =RET= |
- | =emms-stream-next-line= | =n= | =j= |
- | =emms-stream-previous-line= | =p= | =k= |
- | =emms-stream-yank-bookmark= | =y= | =y= |
- | =emms-stream-kill-bookmark= | =k= | =d= |
- | =emms-stream-edit-bookmark= | =e= | =c=, =r= |
- | =emms-stream-info-bookmark= | =i= | =i= |
- | =emms-stream-save-bookmarks-file= | =s= | =s= |
- | =emms-stream-toggle-default-action= | =t= | =x= |
- | =emms-stream-quit= | =q= | =q= |
-
-** New commands
-
- | Command | Purpose |
- |-----------------------------------------------------------+---------------------------------------------------------------|
- | =evil-collection-emms-playlist-mode-insert-newline-above= | =O= equivalent that respects =emms-with-inhibit-read-only-t=. |
- | =evil-collection-emms-playlist-mode-insert-newline-below= | =o= variant. |
- | =evil-collection-emms-playlist-mode-paste-before= | =P= -- yank playlist items before point. |
- | =evil-collection-emms-playlist-mode-paste-after= | =p= -- yank playlist items after point. |
diff --git a/.config/emacs/lisp/evil-collection/modes/emms/evil-collection-emms.el b/.config/emacs/lisp/evil-collection/modes/emms/evil-collection-emms.el
deleted file mode 100644
index 47b4e8d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/emms/evil-collection-emms.el
+++ /dev/null
@@ -1,266 +0,0 @@
-;;; evil-collection-emms.el --- Evil bindings for EMMS -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2024 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emms, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for EMMS.
-
-;;; Code:
-(require 'emms nil t)
-(require 'evil-collection)
-
-(declare-function emms-with-inhibit-read-only-t "emms")
-(declare-function emms-playlist-mode-correct-previous-yank "emms-playlist-mode")
-(declare-function emms-playlist-mode-yank "emms-playlist-mode")
-
-(defvar emms-browser-mode-map)
-(defvar emms-playlist-mode-map)
-
-(defconst evil-collection-emms-maps '(emms-browser-mode-map
- emms-playlist-mode-map
- emms-browser-search-mode-map
- emms-metaplaylist-mode-map
- emms-stream-mode-map))
-
-(defun evil-collection-emms-playlist-mode-insert-newline-above ()
- "Insert a newline above point."
- (interactive)
- (emms-with-inhibit-read-only-t
- (evil-insert-newline-above)))
-
-(defun evil-collection-emms-playlist-mode-insert-newline-below ()
- "Insert a newline below point."
- (interactive)
- (emms-with-inhibit-read-only-t
- (evil-insert-newline-below)))
-
-(defun evil-collection-emms-playlist-mode-paste-before ()
- "Pastes the latest yanked playlist items before the cursor position.
-The return value is the yanked text."
- (interactive)
- (emms-with-inhibit-read-only-t
- (goto-char (line-beginning-position))
- (emms-playlist-mode-yank)
- (emms-playlist-mode-correct-previous-yank)
- (evil-previous-line)
- (evil-beginning-of-line)))
-
-(defun evil-collection-emms-playlist-mode-paste-after ()
- "Pastes the latest yanked playlist items behind point.
-The return value is the yanked text."
- (interactive)
- (unless (eobp) (evil-next-line))
- (evil-collection-emms-playlist-mode-paste-before))
-
-;;;###autoload
-(defun evil-collection-emms-browser-setup ()
- "Set up `evil' bindings for `emms-browser'."
- ;; TODO: Why doesn't evil-set-initial-state work with emms-browser-mode?
-
- (evil-collection-inhibit-insert-state 'emms-browser-mode-map)
- (add-hook 'emms-browser-mode-hook 'evil-normal-state)
- (evil-collection-define-key 'normal 'emms-browser-mode-map
- ;; The following overrides other "g-" and "s-" prefixed keys so we set it first.
- "g" nil
- "g" (lookup-key emms-browser-mode-map (kbd "W"))
- "s" nil
- "s" (lookup-key emms-browser-mode-map (kbd "s"))
-
- ;; playback controls
- "x" 'emms-pause
- "X" 'emms-stop
- "r" 'emms-random
- "<" 'emms-seek-backward
- ">" 'emms-seek-forward
- (kbd "RET") 'emms-browser-add-tracks
- (kbd "C-<return>") 'emms-browser-add-tracks-and-play
-
- ;; volume controls
- "+" 'emms-volume-raise
- "=" 'emms-volume-raise
- "-" 'emms-volume-lower
-
- "u" 'emms-playlist-mode-undo
-
- ;; motion
- "[[" 'emms-browser-prev-non-track
- "]]" 'emms-browser-next-non-track
- (kbd "C-k") 'emms-browser-prev-non-track
- (kbd "C-j") 'emms-browser-next-non-track
- "gk" 'emms-browser-prev-non-track
- "gj" 'emms-browser-next-non-track
-
- (kbd "<tab>") 'emms-browser-toggle-subitems-recursively
- (kbd "<backtab>") 'emms-browser-toggle-subitems-recursively
- "^" 'emms-browser-move-up-level
- (kbd "SPC") 'emms-browser-toggle-subitems
- "g1" 'emms-browser-collapse-all
- "g2" 'emms-browser-expand-to-level-2
- "g3" 'emms-browser-expand-to-level-3
- "g4" 'emms-browser-expand-to-level-4
- "g0" 'emms-browser-expand-all
- "ga" 'emms-browse-by-artist
- "gA" 'emms-browse-by-album
- "gb" 'emms-browse-by-genre
- "gy" 'emms-browse-by-year
- "gc" 'emms-browse-by-composer
- "gp" 'emms-browse-by-performer
- "zm" 'emms-browser-collapse-all
- "zr" 'emms-browser-expand-all
- "zo" 'emms-browser-expand-one-level
- ;; TODO find a real replacement for zc
- "zc" 'emms-browser-collapse-all
-
- ;; TODO find a way to integrate this with evil-collection-evil-search
- "/" 'emms-isearch-buffer ; This shows hidden items during search.
- "n" 'isearch-repeat-forward
- "N" 'isearch-repeat-backward
-
- ;; filter
- ;; "" 'emms-browser-previous-filter ; TODO: What does this do?
- ;; "" 'emms-browser-next-filter
-
-
- "C" 'emms-browser-clear-playlist
- "D" 'emms-browser-remove-tracks
- "d" 'emms-browser-view-in-dired
- ;; "d" does the same, keep "gd" for consistency.
- "gd" 'emms-browser-view-in-dired)
-
- (unless evil-collection-always-run-setup-hook-after-load
- (run-hook-with-args 'evil-collection-setup-hook
- 'emms '(emms-browser-mode-map))))
-
-;;;###autoload
-(defun evil-collection-emms-playlist-setup ()
- "Set up `evil' bindings for `emms-playlist'."
- (evil-set-initial-state 'emms-playlist-mode 'normal)
- (evil-collection-define-key 'normal 'emms-playlist-mode-map
- ;; playback controls
- "x" 'emms-pause
- "X" 'emms-stop
- "r" 'emms-random
- "<" 'emms-seek-backward
- ">" 'emms-seek-forward
- (kbd "C-j") 'emms-next
- (kbd "C-k") 'emms-previous
- "gj" 'emms-next
- "gk" 'emms-previous
- (kbd "RET") 'emms-playlist-mode-play-smart
-
- ;; volume controls
- "+" 'emms-volume-raise
- "=" 'emms-volume-raise
- "-" 'emms-volume-lower
-
- "u" 'emms-playlist-mode-undo
-
- ;; motion
- "gg" 'emms-playlist-mode-first
- "G" 'emms-playlist-mode-last
- "]]" 'emms-playlist-mode-next
- "[[" 'emms-playlist-mode-previous
-
- "D" 'emms-playlist-mode-kill-track ; emms-browser uses "D"
- "C" 'emms-playlist-clear
- "O" 'evil-collection-emms-playlist-mode-insert-newline-above
- "o" 'evil-collection-emms-playlist-mode-insert-newline-below
- "P" 'evil-collection-emms-playlist-mode-paste-before
- "p" 'evil-collection-emms-playlist-mode-paste-after
-
- "u" 'emms-playlist-mode-undo
-
- "ze" 'emms-tag-editor-edit
- "R" 'emms-tag-editor-rename
-
- "." 'emms-playlist-mode-center-current
- "d" 'emms-playlist-mode-goto-dired-at-point
- "gd" 'emms-playlist-mode-goto-dired-at-point ; "d" does the same, keep "gd" for consistency.
-
- "zs" 'emms-show
- "a" 'emms-playlist-mode-add-contents
- "zp" 'emms-playlist-set-playlist-buffer
-
- ;; filter
- "S" (lookup-key emms-playlist-mode-map (kbd "S"))
- "s" (lookup-key emms-playlist-mode-map (kbd "/"))
- ;; "" 'emms-playlist-limit-to-all ; TODO: Test.
-
- (kbd "M-y") 'emms-playlist-mode-yank-pop)
-
- (evil-collection-define-key 'visual 'emms-playlist-mode-map
- ;; "d" 'emms-playlist-mode-kill
- "D" 'emms-playlist-mode-kill)
-
- (unless evil-collection-always-run-setup-hook-after-load
- (run-hook-with-args 'evil-collection-setup-hook
- 'emms '(emms-playlist-mode-map))))
-
-;;;###autoload
-(defun evil-collection-emms-setup ()
- "Set up `evil' bindings for `emms'."
- ;; emms-browser and emms-playlist-mode must be set up after they are loaded
- ;; because we need the mode map to be defined when we `(lookup-key
- ;; ...-mode-map ...)'.
- (with-eval-after-load 'emms-browser
- (evil-collection-emms-browser-setup))
- (with-eval-after-load 'emms-playlist-mode
- (evil-collection-emms-playlist-setup))
-
- (evil-collection-define-key 'normal 'emms-browser-search-mode-map
- "q" 'emms-browser-kill-search)
-
- (evil-set-initial-state 'emms-metaplaylist-mode 'normal)
- (evil-collection-define-key 'normal 'emms-metaplaylist-mode-map
- (kbd "RET") 'emms-metaplaylist-mode-goto-current
- (kbd "<space>") 'emms-metaplaylist-mode-set-active
- "gr" 'emms-metaplaylist-mode-update
- "C" 'emms-metaplaylist-mode-new-buffer
- "." 'emms-metaplaylist-mode-center-current
- "D" 'emms-metaplaylist-mode-kill-buffer
- "q" 'kill-current-buffer)
-
- (evil-set-initial-state 'emms-stream-mode 'normal)
- (evil-collection-define-key 'normal 'emms-stream-mode-map
- (kbd "RET") 'emms-stream-play
- "j" 'emms-stream-next-line
- "k" 'emms-stream-previous-line
- "y" 'emms-stream-yank-bookmark
- "d" 'emms-stream-kill-bookmark
- "c" 'emms-stream-edit-bookmark
- "r" 'emms-stream-edit-bookmark
- "i" 'emms-stream-info-bookmark
- "s" 'emms-stream-save-bookmarks-file
- "x" 'emms-stream-toggle-default-action
- "q" 'emms-stream-quit)
-
- (unless evil-collection-always-run-setup-hook-after-load
- (run-hook-with-args
- 'evil-collection-setup-hook 'emms
- '(emms-browser-search-mode-map
- emms-metaplaylist-mode-map
- emms-stream-mode-map))))
-
-(provide 'evil-collection-emms)
-;;; evil-collection-emms.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/emoji/README.org b/.config/emacs/lisp/evil-collection/modes/emoji/README.org
deleted file mode 100644
index 5a3c09b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/emoji/README.org
+++ /dev/null
@@ -1,13 +0,0 @@
-* emoji
-
- Evil bindings for =emoji-list-mode= (the buffer produced by =M-x emoji-list=).
-
-** Key bindings
-
- Read-only motion/quit bindings come from =evil-collection-set-readonly-bindings=
- and are not repeated below.
-
- | Command | Original | Evil |
- |---------------------+----------+-------|
- | =emoji-list-select= | =RET= | =RET= |
- | =emoji-list-help= | =h= | =gh= |
diff --git a/.config/emacs/lisp/evil-collection/modes/emoji/evil-collection-emoji.el b/.config/emacs/lisp/evil-collection/modes/emoji/evil-collection-emoji.el
deleted file mode 100644
index 0cb0972..0000000
--- a/.config/emacs/lisp/evil-collection/modes/emoji/evil-collection-emoji.el
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; evil-collection-emoji.el --- Evil bindings for emoji -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for emoji.
-
-;;; Code:
-(require 'evil-collection)
-(require 'emoji nil t)
-
-(defconst evil-collection-emoji-maps '(emoji-list-mode-map))
-
-;;;###autoload
-(defun evil-collection-emoji-setup ()
- "Set up `evil' bindings for `emoji'."
- (evil-collection-set-readonly-bindings 'emoji-list-mode-map)
- (evil-collection-define-key 'normal 'emoji-list-mode-map
- (kbd "RET") 'emoji-list-select
- "gh" 'emoji-list-help))
-
-(provide 'evil-collection-emoji)
-;;; evil-collection-emoji.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/epa/README.org b/.config/emacs/lisp/evil-collection/modes/epa/README.org
deleted file mode 100644
index 52f4696..0000000
--- a/.config/emacs/lisp/evil-collection/modes/epa/README.org
+++ /dev/null
@@ -1,34 +0,0 @@
-* epa
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/epa/index.html][EasyPG Assistant]] (=epa-key-list-mode=, =epa-key-mode=,
- =epa-info-mode=).
-
-** Key bindings
-
-*** epa-key-list-mode-map
-
- | Command | Original | Evil |
- |--------------------+----------+-------|
- | =widget-forward= | =TAB= | =TAB= |
- | =revert-buffer= | =g= | =gr= |
- | =epa-exit-buffer= | =q= | =q= |
- | =quit-window= | n/a | =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
- | =epa-decrypt-file= | =d= | =E= |
- | =epa-delete-keys= | =r= | =d= |
- | =epa-verify-file= | =v= | =V= |
- | =epa-mark-key= | =m= | =m= |
- | =epa-unmark-key= | =u= | =u= |
- | =epa-sign-file= | =s= | =s= |
- | =epa-encrypt-file= | =e= | =e= |
- | =epa-import-keys= | =i= | =i= |
- | =epa-export-keys= | =o= | =o= |
-
-*** epa-key-mode-map / epa-info-mode-map
-
- | Command | Original | Evil |
- |-------------------+----------+------------|
- | =epa-exit-buffer= | =q= | =q= |
- | =delete-window= | n/a | =q= (info) |
- | =quit-window= | n/a | =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/epa/evil-collection-epa.el b/.config/emacs/lisp/evil-collection/modes/epa/evil-collection-epa.el
deleted file mode 100644
index 04d818e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/epa/evil-collection-epa.el
+++ /dev/null
@@ -1,71 +0,0 @@
-;;; evil-collection-epa.el --- Evil bindings for epa-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: Maximiliano Sandoval <msandova@protonmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, epa, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `epa-mode'.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'epa nil t)
-
-(defconst evil-collection-epa-maps '(epa-key-list-mode-map
- epa-key-mode-map
- epa-info-mode-map))
-
-;;;###autoload
-(defun evil-collection-epa-setup ()
- (evil-collection-define-key 'normal 'epa-key-list-mode-map
- (kbd "<tab>") 'widget-forward
- "gr" 'revert-buffer
- "q" 'epa-exit-buffer
- "E" 'epa-decrypt-file
- "d" 'epa-delete-keys
- "ZZ" 'quit-window
- "ZQ" 'evil-quit
- "V" 'epa-verify-file
-
- ;; mark
- "m" 'epa-mark-key
- "u" 'epa-unmark-key
-
- ;; Unchanged keybindings.
- "s" 'epa-sign-file
- "e" 'epa-encrypt-file
- "i" 'epa-import-keys
- "o" 'epa-export-keys)
-
- (evil-collection-define-key 'normal 'epa-key-mode-map
- "q" 'epa-exit-buffer
- "ZZ" 'quit-window
- "ZQ" 'evil-quit)
-
- (evil-collection-define-key 'normal 'epa-info-mode-map
- "q" 'delete-window
- "ZZ" 'quit-window
- "ZQ" 'evil-quit))
-
-(provide 'evil-collection-epa)
-;;; evil-collection-epa.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ert/README.org b/.config/emacs/lisp/evil-collection/modes/ert/README.org
deleted file mode 100644
index c1f8a94..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ert/README.org
+++ /dev/null
@@ -1,24 +0,0 @@
-* ert
-
- Evil bindings for =ert-results-mode=.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------------------------------------------+----------+-------------------|
- | =ert-results-next-test= | =n= | =gj=, =]]=, =C-j= |
- | =ert-results-previous-test= | =p= | =gk=, =[[=, =C-k= |
- | =ert-results-jump-between-summary-and-result= | =j= | =J= |
- | =ert-results-toggle-printer-limits-for-test-at-point= | =L= | =L= |
- | =ert-results-rerun-all-tests= | =R= | =gr=, =R= |
- | =ert-results-rerun-test-at-point= | =r= | =r= |
- | =ert-results-rerun-test-at-point-debugging-errors= | =d= | =d= |
- | =ert-results-find-test-at-point-other-window= | =.= | =.=, =gd= |
- | =ert-results-pop-to-backtrace-for-test-at-point= | =b= | =B= |
- | =ert-results-pop-to-messages-for-test-at-point= | =m= | =M= |
- | =ert-results-pop-to-should-forms-for-test-at-point= | =l= | =s= |
- | =ert-results-describe-test-at-point= | =h= | =K=, =g?= |
- | =ert-results-pop-to-timings= | =T= | =T= |
- | =ert-delete-test= | =D= | =x= |
- | =evil-next-line= / =evil-previous-line= | n/a | =j= / =k= |
- | =evil-backward-char= / =evil-forward-char= | n/a | =h= / =l= |
diff --git a/.config/emacs/lisp/evil-collection/modes/ert/evil-collection-ert.el b/.config/emacs/lisp/evil-collection/modes/ert/evil-collection-ert.el
deleted file mode 100644
index 0e97f66..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ert/evil-collection-ert.el
+++ /dev/null
@@ -1,71 +0,0 @@
-;;; evil-collection-ert.el --- Bindings for `ert' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `ert'.
-
-;;; Code:
-(require 'ert)
-(require 'evil-collection)
-
-(defconst evil-collection-ert-maps '(ert-results-mode-map))
-
-;;;###autoload
-(defun evil-collection-ert-setup ()
- "Set up `evil' bindings for `ert'."
- (evil-collection-inhibit-insert-state 'ert-results-mode-map)
- (evil-set-initial-state 'ert-results-mode 'normal)
-
- (evil-collection-define-key 'normal 'ert-results-mode-map
- "j" 'evil-next-line
- "k" 'evil-previous-line
- "h" 'evil-backward-char
- "l" 'evil-forward-char
- ;; Stuff that's not in the menu.
- "J" 'ert-results-jump-between-summary-and-result
- "L" 'ert-results-toggle-printer-limits-for-test-at-point
- "gj" 'ert-results-next-test
- "gk" 'ert-results-previous-test
- "]]" 'ert-results-next-test
- "[[" 'ert-results-previous-test
- (kbd "C-j") 'ert-results-next-test
- (kbd "C-k") 'ert-results-previous-test
- ;; Stuff that is in the menu.
- "gr" 'ert-results-rerun-all-tests
- "R" 'ert-results-rerun-all-tests
- "r" 'ert-results-rerun-test-at-point
- "d" 'ert-results-rerun-test-at-point-debugging-errors
- "." 'ert-results-find-test-at-point-other-window
- "gd" 'ert-results-find-test-at-point-other-window
- "B" 'ert-results-pop-to-backtrace-for-test-at-point
- "M" 'ert-results-pop-to-messages-for-test-at-point
- "s" 'ert-results-pop-to-should-forms-for-test-at-point
- "K" 'ert-results-describe-test-at-point
- "g?" 'ert-results-describe-test-at-point
- "x" 'ert-delete-test
- "T" 'ert-results-pop-to-timings))
-
-(provide 'evil-collection-ert)
-;;; evil-collection-ert.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/eshell/README.org b/.config/emacs/lisp/evil-collection/modes/eshell/README.org
deleted file mode 100644
index 0d4ab5f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eshell/README.org
+++ /dev/null
@@ -1,36 +0,0 @@
-* eshell
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/eshell/index.html][Eshell]].
-
-** Key bindings
-
- Normal-state bindings added to =eshell-mode-map=.
-
- | Command | Original | Evil |
- |---------------------------------------------------+-----------+-------------------|
- | =eshell-previous-prompt= | =C-c C-p= | =[[=, =gk=, =C-k= |
- | =eshell-next-prompt= | =C-c C-n= | =]]=, =gj=, =C-j= |
- | =eshell-backward-argument= | =C-c C-b= | =M-h= |
- | =eshell-forward-argument= | =C-c C-f= | =M-l= |
- | =eshell-previous-matching-input-from-input= | =C-c M-p= | =C-p= |
- | =eshell-next-matching-input-from-input= | =C-c M-n= | =C-n= |
- | =eshell-bol= (Emacs < 30) | =C-a= | =0=, =^= |
- | =eshell-kill-input= (when =evil-want-C-u-delete=) | =C-c C-u= | =C-u= (insert) |
-
- =RET= sends input in the state named by =evil-collection-repl-submit-state=,
- and inserts a newline in the complementary state.
-
-** New commands
-
- | Command | Key | |
- |--------------------------------------------+-----------+-----------------------------------------|
- | =evil-collection-eshell-interrupt-process= | =C-c C-c= | interrupt process, then enter insert |
- | =evil-collection-eshell-evil-change= | =c= | change, never touches prompt or history |
- | =evil-collection-eshell-evil-change-line= | =C= | change to end-of-line |
- | =evil-collection-eshell-evil-delete= | =d= | delete, never touches prompt or history |
- | =evil-collection-eshell-evil-delete-line= | =D= | delete to end-of-line |
-
-** Notes
-
- - On entering insert/replace state, point jumps to the next prompt.
- - On entering normal state, point stays put (no Vim-style backward step).
diff --git a/.config/emacs/lisp/evil-collection/modes/eshell/evil-collection-eshell.el b/.config/emacs/lisp/evil-collection/modes/eshell/evil-collection-eshell.el
deleted file mode 100644
index 30580d2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eshell/evil-collection-eshell.el
+++ /dev/null
@@ -1,168 +0,0 @@
-;;; evil-collection-eshell.el --- Evil bindings for Eshell -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2021 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, eshell, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Eshell.
-
-;;; Code:
-(require 'em-prompt)
-(require 'eshell)
-(require 'evil-collection)
-
-(defconst evil-collection-eshell-maps '(eshell-mode-map))
-
-(defun evil-collection-eshell-next-prompt ()
- "`evil' wrapper around `eshell-next-prompt'."
- (when (get-text-property (point) 'read-only)
- ;; If at end of prompt, `eshell-next-prompt' will not move, so go backward.
- (beginning-of-line)
- (eshell-next-prompt 1)))
-
-(defun evil-collection-eshell-next-prompt-on-insert ()
- "Go to next prompt on `evil' replace/insert enter."
- (dolist (hook '(evil-replace-state-entry-hook evil-insert-state-entry-hook))
- (add-hook hook 'evil-collection-eshell-next-prompt nil t)))
-
-(defun evil-collection-eshell-interrupt-process ()
- "Interupt `eshell' process and enter insert state."
- (interactive)
- (eshell-interrupt-process)
- (evil-insert 1))
-
-(defun evil-collection-eshell-escape-stay ()
- "Go back to normal state but don't move cursor backwards.
-Moving cursor backwards is the default Vim behavior but it is not
-appropriate in some cases like terminals."
- (setq-local evil-move-cursor-back nil))
-
-;; Taken from Doom Emacs
-(evil-define-operator evil-collection-eshell-evil-change (beg end type register yank-handler delete-func)
- "Like `evil-change' but will not delete/copy the prompt."
- (interactive "<R><x><y>")
- (save-restriction
- (narrow-to-region eshell-last-output-end (point-max))
- (evil-change (max beg (point-min))
- (if (eq type 'line) (point-max) (min (or end (point-max)) (point-max)))
- type register yank-handler delete-func)))
-
-;; Taken from Doom Emacs
-(evil-define-operator evil-collection-eshell-evil-change-line (beg end type register yank-handler)
- "Change to end of line."
- :motion evil-end-of-line
- (interactive "<R><x><y>")
- (evil-collection-eshell-evil-change beg end type register yank-handler #'evil-delete-line))
-
-;; Taken from Doom Emacs
-(evil-define-operator evil-collection-eshell-evil-delete (beg end type register yank-handler)
- "Like `evil-delete' but will not delete/copy the prompt."
- (interactive "<R><x><y>")
- (save-restriction
- (narrow-to-region eshell-last-output-end (point-max))
- (evil-delete (if beg (max beg (point-min)) (point-min))
- (if (eq type 'line) (point-max) (min (or end (point-max)) (point-max)))
- type register yank-handler)))
-
-;; Taken from Doom Emacs
-;;
-;; Although the BEG argument doesn't get used in any meaningful way,
-;; `evil-define-operator' must access it nonetheless, so putting an underscore
-;; in front will make the CI fail.
-(evil-define-operator evil-collection-eshell-evil-delete-line (beg end type register yank-handler)
- "Change to end of line."
- :motion nil
- :keep-visual t
- (interactive "<R><x>")
- (evil-collection-eshell-evil-delete (point) end type register yank-handler))
-
-;; `eshell-mode-map' is reset when Eshell is initialized in `eshell-mode'. We
-;; need to add bindings to `eshell-first-time-mode-hook'.
-(defun evil-collection-eshell-setup-keys ()
- "Set up `evil' bindings for `eshell'."
- (evil-collection-define-key 'normal 'eshell-mode-map
- ;; motion
- "[[" 'eshell-previous-prompt
- "]]" 'eshell-next-prompt
- (kbd "C-k") 'eshell-previous-prompt
- (kbd "C-j") 'eshell-next-prompt
- "gk" 'eshell-previous-prompt
- "gj" 'eshell-next-prompt
- (kbd "M-h") 'eshell-backward-argument
- (kbd "M-l") 'eshell-forward-argument
-
- (kbd "C-n") 'eshell-next-matching-input-from-input
- (kbd "C-p") 'eshell-previous-matching-input-from-input
-
- (kbd "C-c C-c") 'evil-collection-eshell-interrupt-process
- "c" 'evil-collection-eshell-evil-change
- "C" 'evil-collection-eshell-evil-change-line
- "d" 'evil-collection-eshell-evil-delete
- "D" 'evil-collection-eshell-evil-delete-line)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'eshell-mode-map
- (kbd "RET") 'eshell-send-input)
- (evil-collection-define-key newline-state 'eshell-mode-map
- (kbd "RET") 'newline))
-
- (when (< emacs-major-version 30)
- (evil-collection-define-key 'normal 'eshell-mode-map
- "0" 'eshell-bol
- "^" 'eshell-bol))
-
- (when evil-want-C-u-delete
- (evil-collection-define-key 'insert 'eshell-mode-map
- (kbd "C-u") 'eshell-kill-input))
-
- (evil-collection-define-key 'visual 'eshell-mode-map
- ;; motion
- ;; TODO: This does not work with `evil-visual-line'.
- "[[" 'eshell-previous-prompt
- "]]" 'eshell-next-prompt
- (kbd "C-k") 'eshell-previous-prompt
- (kbd "C-j") 'eshell-next-prompt
- "gk" 'eshell-previous-prompt
- "gj" 'eshell-next-prompt)
-
- (when (< emacs-major-version 30)
- (evil-collection-define-key 'visual 'eshell-mode-map
- "0" 'eshell-bol
- "^" 'eshell-bol))
-
- (evil-normalize-keymaps)
- (unless evil-collection-always-run-setup-hook-after-load
- (run-hook-with-args
- 'evil-collection-setup-hook 'eshell evil-collection-eshell-maps)))
-
-;; TODO: Compare this setup procedure with evil-ediff.
-;;;###autoload
-(defun evil-collection-eshell-setup ()
- "Set up `evil' bindings for `eshell'."
- (add-hook 'eshell-mode-hook 'evil-collection-eshell-escape-stay)
- (add-hook 'eshell-mode-hook 'evil-collection-eshell-next-prompt-on-insert)
- (add-hook 'eshell-first-time-mode-hook 'evil-collection-eshell-setup-keys))
-
-(provide 'evil-collection-eshell)
-;;; evil-collection-eshell.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/eval-sexp-fu/README.org b/.config/emacs/lisp/evil-collection/modes/eval-sexp-fu/README.org
deleted file mode 100644
index 6563ec9..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eval-sexp-fu/README.org
+++ /dev/null
@@ -1,16 +0,0 @@
-* eval-sexp-fu
-
- Evil compatibility for [[https://github.com/hchbaw/eval-sexp-fu.el][eval-sexp-fu]]. No key bindings.
-
- When =evil-move-beyond-eol= is nil, the setup advises
- =ad-Advice-eval-last-sexp= so that =eval-last-sexp= treats the sexp under
- point as ending at point (rather than one character earlier as evil's
- normal-state cursor positioning would imply). This makes =C-x C-e= and
- related commands work the way they do in evil's insert/emacs states.
-
-** New commands
-
- - =evil-collection-eval-sexp-fu-bounds-of-thing-at-point-sexp= - Advice
- wrapper that fixes the sexp bounds in evil normal/motion state.
- - =evil-collection-eval-sexp-fu-advise-bounds-of-thing-at-point= - Wraps
- the advice around a single call to =eval-last-sexp=.
diff --git a/.config/emacs/lisp/evil-collection/modes/eval-sexp-fu/evil-collection-eval-sexp-fu.el b/.config/emacs/lisp/evil-collection/modes/eval-sexp-fu/evil-collection-eval-sexp-fu.el
deleted file mode 100644
index b6743cb..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eval-sexp-fu/evil-collection-eval-sexp-fu.el
+++ /dev/null
@@ -1,61 +0,0 @@
-;;; evil-collection-eval-sexp-fu.el --- Bindings for `eval-sexp-fu' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, eval-sexp-fu, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `eval-sexp-fu'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'eval-sexp-fu nil t)
-
-(defconst evil-collection-eval-sexp-fu-maps nil)
-
-(defun evil-collection-eval-sexp-fu-bounds-of-thing-at-point-sexp (command &rest args)
- "In normal-state or motion-state, last sexp ends at point."
- (if (and (eq (nth 0 args) 'sexp)
- (and (not evil-move-beyond-eol)
- (or (evil-normal-state-p) (evil-motion-state-p))))
- (save-excursion
- (unless (or (eobp) (eolp)) (forward-char))
- (apply command args))
- (apply command args)))
-
-(defun evil-collection-eval-sexp-fu-advise-bounds-of-thing-at-point (command &rest args)
- "Advise `bounds-of-thing-at-point' to handle `evil's `evil-move-beyond-eol'."
- (advice-add 'bounds-of-thing-at-point
- :around 'evil-collection-eval-sexp-fu-bounds-of-thing-at-point-sexp)
- (apply command args)
- (advice-remove 'bounds-of-thing-at-point
- 'evil-collection-eval-sexp-fu-bounds-of-thing-at-point-sexp))
-
-;;;###autoload
-(defun evil-collection-eval-sexp-fu-setup ()
- "Set up `evil' with `eval-sexp-fu'."
- (unless evil-move-beyond-eol
- (advice-add 'ad-Advice-eval-last-sexp
- :around 'evil-collection-eval-sexp-fu-advise-bounds-of-thing-at-point)))
-
-(provide 'evil-collection-eval-sexp-fu)
-;;; evil-collection-eval-sexp-fu.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/evil-mc/README.org b/.config/emacs/lisp/evil-collection/modes/evil-mc/README.org
deleted file mode 100644
index c23adfd..0000000
--- a/.config/emacs/lisp/evil-collection/modes/evil-mc/README.org
+++ /dev/null
@@ -1,49 +0,0 @@
-* evil-mc
-
- Evil bindings for [[https://github.com/gabesoft/evil-mc][evil-mc]], multiple cursors for evil.
-
- Upstream installs its cursors map under =gr= on top of the normal/visual
- state. evil-collection clears both =evil-mc-key-map= and
- =evil-mc-cursors-map= and re-installs the cursors map under =g.= so =gr=
- stays free for =xref-find-references=.
-
-** Key bindings
-
-*** evil-mc-key-map
-
- | Command | Original | Evil |
- |-----------------------+----------+------|
- | =evil-mc-cursors-map= | =gr= | =g.= |
-
-*** evil-mc-cursors-map
-
- Prefix is =g.= in normal/visual state.
-
- | Command | Original | Evil |
- |-----------------------------------------------+----------+---------|
- | =evil-mc-make-all-cursors= | =m= | =a= |
- | =evil-mc-undo-all-cursors= | =q= | =q= |
- | =evil-mc-undo-last-added-cursor= | =u= | =u= |
- | =evil-mc-pause-cursors= | =s= | =C-p= |
- | =evil-mc-resume-cursors= | =r= | =C-r= |
- | =evil-mc-make-cursor-here= | =h= | =C-m= |
- | =evil-mc-make-and-goto-first-cursor= | =f= | =0= |
- | =evil-mc-make-and-goto-last-cursor= | =l= | =$= |
- | =evil-mc-make-cursor-in-visual-selection-beg= | =I= | =I= |
- | =evil-mc-make-cursor-in-visual-selection-end= | =A= | =A= |
- | =evil-mc-make-cursor-move-next-line= | =j= | =o= |
- | =evil-mc-make-cursor-move-prev-line= | =k= | =O= |
- | =evil-mc-make-and-goto-next-match= | =n= | =n= |
- | =evil-mc-make-and-goto-prev-match= | =N= | =N= |
- | =evil-mc-skip-and-goto-next-match= | =n= | =C-n= |
- | =evil-mc-skip-and-goto-prev-match= | =p= | =C-S-n= |
- | =evil-mc-make-and-goto-next-cursor= | =M-n= | =M-n= |
- | =evil-mc-make-and-goto-prev-cursor= | =M-p= | =M-N= |
- | =evil-mc-skip-and-goto-next-cursor= | =N= | =C-u= |
- | =evil-mc-skip-and-goto-prev-cursor= | =P= | =C-S-u= |
-
-** Notes
-
- A hook on =evil-mc-after-cursors-deleted= sets
- =evil-was-yanked-without-register= so paste after cursor deletion does
- not clobber the unnamed register (see upstream issue #70).
diff --git a/.config/emacs/lisp/evil-collection/modes/evil-mc/evil-collection-evil-mc.el b/.config/emacs/lisp/evil-collection/modes/evil-mc/evil-collection-evil-mc.el
deleted file mode 100644
index 7de6405..0000000
--- a/.config/emacs/lisp/evil-collection/modes/evil-mc/evil-collection-evil-mc.el
+++ /dev/null
@@ -1,79 +0,0 @@
-;;; evil-collection-evil-mc.el --- Bindings for evil-mc -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for evil-mc.
-
-;;; Code:
-(require 'evil-collection)
-(require 'evil-mc nil t)
-(eval-when-compile (require 'subr-x)) ; `if-let*' and `when-let*'
-
-(defvar evil-mc-key-map)
-(defvar evil-mc-cursors-map)
-(defconst evil-collection-evil-mc-maps '(evil-mc-key-map evil-mc-cursors-map))
-
-;;;###autoload
-(defun evil-collection-evil-mc-setup ()
- "Set up `evil' bindings for evil-mc."
-
- (setcdr evil-mc-cursors-map nil)
-
- (define-key evil-mc-cursors-map (kbd "a") 'evil-mc-make-all-cursors)
- (define-key evil-mc-cursors-map (kbd "q") 'evil-mc-undo-all-cursors)
- (define-key evil-mc-cursors-map (kbd "u") 'evil-mc-undo-last-added-cursor)
-
- (define-key evil-mc-cursors-map (kbd "C-p") 'evil-mc-pause-cursors)
- (define-key evil-mc-cursors-map (kbd "C-r") 'evil-mc-resume-cursors)
- (define-key evil-mc-cursors-map (kbd "C-m") 'evil-mc-make-cursor-here)
-
- (define-key evil-mc-cursors-map (kbd "0") 'evil-mc-make-and-goto-first-cursor)
- (define-key evil-mc-cursors-map (kbd "$") 'evil-mc-make-and-goto-last-cursor)
-
- (define-key evil-mc-cursors-map (kbd "I") 'evil-mc-make-cursor-in-visual-selection-beg)
- (define-key evil-mc-cursors-map (kbd "A") 'evil-mc-make-cursor-in-visual-selection-end)
-
- (define-key evil-mc-cursors-map (kbd "o") 'evil-mc-make-cursor-move-next-line)
- (define-key evil-mc-cursors-map (kbd "O") 'evil-mc-make-cursor-move-prev-line)
-
- (define-key evil-mc-cursors-map (kbd "n") 'evil-mc-make-and-goto-next-match)
- (define-key evil-mc-cursors-map (kbd "N") 'evil-mc-make-and-goto-prev-match)
- (define-key evil-mc-cursors-map (kbd "C-n") 'evil-mc-skip-and-goto-next-match)
- (define-key evil-mc-cursors-map (kbd "C-S-n") 'evil-mc-skip-and-goto-prev-match)
- (define-key evil-mc-cursors-map (kbd "M-n") 'evil-mc-make-and-goto-next-cursor)
- (define-key evil-mc-cursors-map (kbd "M-N") 'evil-mc-make-and-goto-prev-cursor)
- (define-key evil-mc-cursors-map (kbd "C-u") 'evil-mc-skip-and-goto-next-cursor)
- (define-key evil-mc-cursors-map (kbd "C-S-u") 'evil-mc-skip-and-goto-prev-cursor)
-
- (setcdr evil-mc-key-map nil)
- (evil-collection-define-key '(normal visual) 'evil-mc-key-map (kbd "g.") evil-mc-cursors-map)
-
- ;; https://github.com/gabesoft/evil-mc/issues/70
- (add-hook 'evil-mc-after-cursors-deleted
- (lambda ()
- (setq evil-was-yanked-without-register t))))
-
-(provide 'evil-collection-evil-mc)
-;;; evil-collection-evil-mc.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/eww/README.org b/.config/emacs/lisp/evil-collection/modes/eww/README.org
deleted file mode 100644
index 2b0aaa4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eww/README.org
+++ /dev/null
@@ -1,61 +0,0 @@
-* eww
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/eww/index.html][EWW]] (Emacs Web Wowser).
-
-** eww-mode-map
-
- | Command | Original | Evil |
- |------------------------------------+------------+--------------------|
- | =eww-up-url= | =u= | =^=, =u= |
- | =eww-top-url= | =t= | =U= |
- | =eww-back-url= | =l=, =DEL= | =H=, =DEL= |
- | =eww-forward-url= | =r= | =L= |
- | =eww-view-source= | =v= | =gf= |
- | =eww-browse-with-external-browser= | =&= | =&=, =S-RET=, =go= |
- | =url-cookie-list= | =C= | =gc= |
- | =eww-toggle-paragraph-direction= | =D= | =zd= |
- | =eww-set-character-encoding= | =E= | =ze= |
- | =eww-toggle-fonts= | =F= | =zf= |
- | =eww-download= | =d= | =d= |
- | =eww-add-bookmark= | =b= | =m= |
- | =eww-readable= | =R= | =R=, =r= |
- | =eww-next-url= | =n= | =]]=, =gj= |
- | =eww-previous-url= | =p= | =[[=, =gk= |
- | =eww= | =G= | =o= |
- | =scroll-up-command= | n/a | =SPC= |
- | =scroll-down-command= | n/a | =S-SPC= |
- | =shr-next-link= | =TAB= | =TAB= |
- | =shr-previous-link= | =S-TAB= | =S-TAB= |
- | =eww-list-bookmarks= | =B= | =gb= |
- | =eww-list-histories= | =H= | =gh= |
- | =eww-list-buffers= | =S= | =gt= |
- | =eww-reload= | =g= | =gr= |
- | =eww-copy-page-url= (=y= operator) | =w= | =yu= |
- | =quit-window= | n/a | =q=, =ZQ=, =ZZ= |
-
-** eww-history-mode-map
-
- | Command | Original | Evil |
- |----------------------+----------+-------|
- | =eww-history-browse= | =RET= | =RET= |
- | =revert-buffer= | n/a | =gr= |
-
-** eww-buffers-mode-map
-
- | Command | Original | Evil |
- |----------------------------+----------+------------|
- | =eww-buffer-kill= | =D= | =D= |
- | =eww-buffer-select= | =RET= | =RET= |
- | =eww-buffer-show-next= | n/a | =]]=, =gj= |
- | =eww-buffer-show-previous= | n/a | =[[=, =gk= |
- | =revert-buffer= | n/a | =gr= |
-
-** eww-bookmark-mode-map
-
- | Command | Original | Evil |
- |------------------------------------+----------+-------|
- | =eww-bookmark-kill= | =D= | =D= |
- | =eww-bookmark-yank= | =P= | =P= |
- | =eww-bookmark-browse= | =RET= | =RET= |
- | =revert-buffer= | n/a | =gr= |
- | =eww-copy-page-url= (=y= operator) | n/a | =yu= |
diff --git a/.config/emacs/lisp/evil-collection/modes/eww/evil-collection-eww.el b/.config/emacs/lisp/evil-collection/modes/eww/evil-collection-eww.el
deleted file mode 100644
index 96a848e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/eww/evil-collection-eww.el
+++ /dev/null
@@ -1,128 +0,0 @@
-;;; evil-collection-eww.el --- Evil bindings for EWW -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, eww, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for EWW.
-
-;;; Code:
-(require 'eww)
-(require 'evil-collection)
-
-(defvar evil-collection-eww-maps '(eww-mode-map
- eww-history-mode-map
- eww-buffers-mode-map
- eww-bookmark-mode-map))
-
-;;;###autoload
-(defun evil-collection-eww-setup ()
- "Set up `evil' bindings for `eww'."
-
- (evil-set-initial-state 'eww-mode 'normal)
- (evil-collection-define-key 'normal 'eww-mode-map
- "^" 'eww-up-url
- "u" 'eww-up-url
- "U" 'eww-top-url
- (kbd "DEL") 'eww-back-url
- "H" 'eww-back-url
- "L" 'eww-forward-url
-
- "gf" 'eww-view-source ; Like qutebrowser.
-
- "&" 'eww-browse-with-external-browser
- "gc" 'url-cookie-list
- "zd" 'eww-toggle-paragraph-direction
- "ze" 'eww-set-character-encoding
- "zf" 'eww-toggle-fonts
- "d" 'eww-download
- "m" 'eww-add-bookmark
- "R" 'eww-readable ; Default binding.
- "r" 'eww-readable
-
- "]]" 'eww-next-url
- "[[" 'eww-previous-url
- "gj" 'eww-next-url
- "gk" 'eww-previous-url
-
- ;; open
- (kbd "S-<return>") 'eww-browse-with-external-browser
- "go" 'eww-browse-with-external-browser
- "o" 'eww ; Like qutebrowser.
-
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'shr-next-link
- (kbd "<backtab>") 'shr-previous-link
-
- ;; bookmarks
- "gb" 'eww-list-bookmarks
-
- "gh" 'eww-list-histories
- "gt" 'eww-list-buffers ; Like dwb, qutebrowser.
-
- ;; refresh
- "gr" 'eww-reload
-
- ;; quit
- "q" 'quit-window
- "ZQ" 'quit-window
- "ZZ" 'quit-window)
-
- (evil-collection-define-operator-key 'yank 'eww-mode-map
- "u" 'eww-copy-page-url)
-
- (evil-collection-set-readonly-bindings 'eww-history-mode-map)
- (evil-set-initial-state 'eww-history-mode 'normal)
- (evil-collection-define-key 'normal 'eww-history-mode-map
- (kbd "RET") 'eww-history-browse
- ;; refresh
- "gr" 'revert-buffer)
-
- (evil-collection-set-readonly-bindings 'eww-buffers-mode-map)
- (evil-set-initial-state 'eww-buffers-mode 'normal)
- (evil-collection-define-key 'normal 'eww-buffers-mode-map
- "D" 'eww-buffer-kill
- (kbd "RET") 'eww-buffer-select
- "]]" 'eww-buffer-show-next
- "[[" 'eww-buffer-show-previous
- "gj" 'eww-buffer-show-next
- "gk" 'eww-buffer-show-previous
- ;; refresh
- "gr" 'revert-buffer)
-
- (evil-collection-set-readonly-bindings 'eww-bookmark-mode-map)
- (evil-set-initial-state 'eww-bookmark-mode 'normal)
- (evil-collection-define-key 'normal 'eww-bookmark-mode-map
- "D" 'eww-bookmark-kill
- "P" 'eww-bookmark-yank
-
- (kbd "RET") 'eww-bookmark-browse
- ;; refresh
- "gr" 'revert-buffer)
-
- (evil-collection-define-operator-key 'yank 'eww-bookmark-mode-map
- "u" 'eww-copy-page-url))
-
-(provide 'evil-collection-eww)
-;;; evil-collection-eww.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/explain-pause-mode/evil-collection-explain-pause-mode.el b/.config/emacs/lisp/evil-collection/modes/explain-pause-mode/evil-collection-explain-pause-mode.el
deleted file mode 100644
index fa5b43f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/explain-pause-mode/evil-collection-explain-pause-mode.el
+++ /dev/null
@@ -1,50 +0,0 @@
-;;; evil-collection-explain-pause-mode.el --- Evil bindings for explain-pause-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for explain-pause-mode.
-
-;;; Code:
-(require 'evil-collection)
-(require 'explain-pause-mode nil t)
-
-(defconst evil-collection-explain-pause-mode-maps '(explain-pause-top-mode-map))
-
-;;;###autoload
-(defun evil-collection-explain-pause-mode-setup ()
- "Set up `evil' bindings for `explain-pause-mode'."
- (evil-set-initial-state 'explain-pause-top-mode 'normal)
- (evil-collection-define-key 'normal 'explain-pause-top-mode-map
- "a" 'explain-pause-top-auto-refresh
- "c" 'explain-pause-top-clear
- "o" 'explain-pause-top-sort
-
- "q" 'quit-window
- "ZZ" 'quit-window
- "ZQ" 'quit-window))
-
-(provide 'evil-collection-explain-pause-mode)
-
-;;; evil-collection-explain-pause-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/fanyi/evil-collection-fanyi.el b/.config/emacs/lisp/evil-collection/modes/fanyi/evil-collection-fanyi.el
deleted file mode 100644
index 69e589c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/fanyi/evil-collection-fanyi.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; evil-collection-fanyi.el --- Evil bindings for fanyi -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for fanyi.
-
-;;; Code:
-(require 'evil-collection)
-(require 'fanyi nil t)
-
-(defconst evil-collection-fanyi-maps '(fanyi-mode-map))
-
-;;;###autoload
-(defun evil-collection-fanyi-setup ()
- "Set up `evil' bindings for `fanyi'."
- (evil-collection-set-readonly-bindings 'fanyi-mode-map)
- (evil-collection-define-key 'normal 'fanyi-mode-map
- ;; tab
- [tab] 'forward-button
- [backtab] 'backward-button
-
- "s" 'fanyi-dwim))
-
-(provide 'evil-collection-fanyi)
-;;; evil-collection-fanyi.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/finder/README.org b/.config/emacs/lisp/evil-collection/modes/finder/README.org
deleted file mode 100644
index 56562b9..0000000
--- a/.config/emacs/lisp/evil-collection/modes/finder/README.org
+++ /dev/null
@@ -1,13 +0,0 @@
-* finder
-
- Evil bindings for =finder-mode= (the package-keyword browser opened by
- =M-x finder-by-keyword=).
-
-** Key bindings
-
- | Command | Original | Evil |
- |------------------------+------------+--------------|
- | =finder-select= | =RET=, =f= | =RET=, =SPC= |
- | =finder-list-keywords= | =d= | =d= |
- | =finder-summary= | =?= | =s= |
- | =finder-exit= | =q= | =q= |
diff --git a/.config/emacs/lisp/evil-collection/modes/finder/evil-collection-finder.el b/.config/emacs/lisp/evil-collection/modes/finder/evil-collection-finder.el
deleted file mode 100644
index 3ec4f25..0000000
--- a/.config/emacs/lisp/evil-collection/modes/finder/evil-collection-finder.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-finder.el --- Evil bindings for finder -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, finder, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for finder.
-
-;;; Code:
-(require 'evil-collection)
-(require 'finder)
-
-(defconst evil-collection-finder-maps '(finder-mode-map))
-
-;;;###autoload
-(defun evil-collection-finder-setup ()
- "Set up `evil' bindings for `finder'."
- (evil-set-initial-state 'finder-mode 'normal)
-
- (evil-collection-define-key 'normal 'finder-mode-map
- (kbd "RET") 'finder-select
- (kbd "SPC") 'finder-select
-
- "d" 'finder-list-keywords
- "s" 'finder-summary
- "q" 'finder-exit))
-
-(provide 'evil-collection-finder)
-;;; evil-collection-finder.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/flycheck/README.org b/.config/emacs/lisp/evil-collection/modes/flycheck/README.org
deleted file mode 100644
index 04031fe..0000000
--- a/.config/emacs/lisp/evil-collection/modes/flycheck/README.org
+++ /dev/null
@@ -1,18 +0,0 @@
-* flycheck
-
- Evil bindings for the [[https://www.flycheck.org/][flycheck]] error list.
-
- Initial state for =flycheck-error-list-mode= is =normal=.
-
-** flycheck-error-list-mode-map (normal state)
-
- | Command | Original | Evil |
- |--------------------------------------+----------+-------------------|
- | =flycheck-error-list-next-error= | =n= | =gj=, =C-j=, =]]= |
- | =flycheck-error-list-previous-error= | =p= | =gk=, =C-k=, =[[= |
- | =flycheck-error-list-check-source= | =g= | =gr= |
- | =flycheck-error-list-set-filter= | =f= | =s= |
- | =flycheck-error-list-reset-filter= | =F= | =S= |
- | =flycheck-error-list-explain-error= | =e= | =x= |
- | =flycheck-error-list-goto-error= | =RET= | =RET= |
- | =quit-window= | =q= | =q= |
diff --git a/.config/emacs/lisp/evil-collection/modes/flycheck/evil-collection-flycheck.el b/.config/emacs/lisp/evil-collection/modes/flycheck/evil-collection-flycheck.el
deleted file mode 100644
index 889ba32..0000000
--- a/.config/emacs/lisp/evil-collection/modes/flycheck/evil-collection-flycheck.el
+++ /dev/null
@@ -1,56 +0,0 @@
-;;; evil-collection-flycheck.el --- Evil bindings for flycheck -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, flycheck, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `flycheck-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'flycheck nil t)
-
-(defvar flycheck-error-list-mode-map)
-
-(defconst evil-collection-flycheck-maps '(flycheck-error-list-mode-map))
-
-;;;###autoload
-(defun evil-collection-flycheck-setup ()
- "Set up `evil' bindings for `flycheck'."
- (evil-set-initial-state 'flycheck-error-list-mode 'normal)
- (evil-collection-define-key 'normal 'flycheck-error-list-mode-map
- "gj" 'flycheck-error-list-next-error
- "gk" 'flycheck-error-list-previous-error
- (kbd "C-j") 'flycheck-error-list-next-error
- (kbd "C-k") 'flycheck-error-list-previous-error
- "]]" 'flycheck-error-list-next-error
- "[[" 'flycheck-error-list-previous-error
- "gr" 'flycheck-error-list-check-source
- "s" 'flycheck-error-list-set-filter
- "S" 'flycheck-error-list-reset-filter
- "x" 'flycheck-error-list-explain-error
- (kbd "RET") 'flycheck-error-list-goto-error
- "q" 'quit-window))
-
-(provide 'evil-collection-flycheck)
-;;; evil-collection-flycheck.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/flymake/README.org b/.config/emacs/lisp/evil-collection/modes/flymake/README.org
deleted file mode 100644
index d46e8c2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/flymake/README.org
+++ /dev/null
@@ -1,15 +0,0 @@
-* flymake
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/flymake/index.html][Flymake]].
-
-** Key bindings
-
- Applied to both =flymake-diagnostics-buffer-mode-map= and
- =flymake-project-diagnostics-mode-map=.
-
- | Command | Original | Evil |
- |---------------------------+----------+------------------------------|
- | =flymake-goto-next-error= | n/a | =C-j= |
- | =flymake-goto-prev-error= | n/a | =C-k= |
- | =flymake-goto-diagnostic= | =RET= | =RET= |
- | =flymake-show-diagnostic= | =SPC= | =S-RET=, =M-RET=, =go=, =gO= |
diff --git a/.config/emacs/lisp/evil-collection/modes/flymake/evil-collection-flymake.el b/.config/emacs/lisp/evil-collection/modes/flymake/evil-collection-flymake.el
deleted file mode 100644
index 86ce75e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/flymake/evil-collection-flymake.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; evil-collection-flymake.el --- Evil Bindings for Flymake -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018, 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, flymake, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `flymake-mode'.
-
-;;; Code:
-(require 'flymake)
-(require 'evil-collection)
-
-(defconst evil-collection-flymake-maps '(flymake-mode-map
- flymake-project-diagnostics-mode-map
- flymake-diagnostics-buffer-mode-map))
-
-;;;###autoload
-(defun evil-collection-flymake-setup ()
- "Set up `evil' bindings for `flymake'."
- (dolist (map '(flymake-diagnostics-buffer-mode-map flymake-project-diagnostics-mode-map))
- (evil-collection-set-readonly-bindings map)
- (evil-collection-define-key 'normal map
- (kbd "C-j") 'flymake-goto-next-error
- (kbd "C-k") 'flymake-goto-prev-error
- (kbd "RET") 'flymake-goto-diagnostic
- (kbd "S-RET") 'flymake-show-diagnostic
- (kbd "M-RET") 'flymake-show-diagnostic
- (kbd "go") 'flymake-show-diagnostic
- (kbd "gO") 'flymake-show-diagnostic)))
-
-(provide 'evil-collection-flymake)
-;;; evil-collection-flymake.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/forge/README.org b/.config/emacs/lisp/evil-collection/modes/forge/README.org
deleted file mode 100644
index b7cf5d5..0000000
--- a/.config/emacs/lisp/evil-collection/modes/forge/README.org
+++ /dev/null
@@ -1,44 +0,0 @@
-* forge
-
- Evil bindings for [[https://github.com/magit/forge][forge]].
-
- Setup disables =forge-add-default-bindings= (which would clobber evil keys
- on magit maps), then rebinds forge dispatch and remaps =magit-browse-thing=
- on the relevant magit section maps. The state used is controlled by
- =evil-collection-forge-state=.
-
-** Key bindings
-
-*** magit-mode-map
-
- | Command | Original | Evil |
- |------------------+----------+------|
- | =forge-dispatch= | (none) | =@= |
-
-*** magit-commit-section-map / magit-remote-section-map / magit-branch-section-map
-
- | Command | Original | Evil |
- |---------------------------------------------------------+----------+---------------------------------|
- | =forge-browse-dwim= / =forge-browse-remote= / =-branch= | n/a | (remap of =magit-browse-thing=) |
- | =forge-visit-topic= | n/a | =C-c C-v= (commit / branch) |
-
-** Transient extensions
-
- The following are appended to magit transients:
-
- | Transient | Suffix |
- |---------------------+-------------------------------------------|
- | =magit-dispatch= | =@= Forge |
- | =magit-fetch= | =n= forge topics, =N= forge notifications |
- | =magit-pull= | =n= forge topics, =N= forge notifications |
- | =magit-branch= | =f= pull-request, =F= from pull-request |
- | =magit-worktree= | =n= pull-request worktree |
- | =magit-status-jump= | =Np= pull-requests, =Ni= issues |
- | =magit-merge= | =M= Merge using API |
-
-** Customization
-
- | Variable | Default | Purpose |
- |----------------------------------------+----------------------+---------------------------------------------------|
- | =evil-collection-forge-use-y-for-yank= | =t= | Keep =y= as yank; also adds visual state. |
- | =evil-collection-forge-state= | =normal= or =motion= | Evil state used for forge bindings on magit maps. |
diff --git a/.config/emacs/lisp/evil-collection/modes/forge/evil-collection-forge.el b/.config/emacs/lisp/evil-collection/modes/forge/evil-collection-forge.el
deleted file mode 100644
index 1392c96..0000000
--- a/.config/emacs/lisp/evil-collection/modes/forge/evil-collection-forge.el
+++ /dev/null
@@ -1,113 +0,0 @@
-;;; evil-collection-forge.el --- Evil-based key bindings for forge -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2021 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Package-Requires: ((emacs "26.3") (evil "1.2.3"))
-;; Homepage: https://github.com/emacs-evil/evil-collection
-;; Version: 0.4.1
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; This library configures Magit and Evil to play well with each
-;; other. For some background see:
-;; https://github.com/emacs-evil/evil-collection/issues/543.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'forge nil t)
-(require 'transient nil t)
-
-(defcustom evil-collection-forge-use-y-for-yank t
- "View `evil-collection-magit-state' for more information."
- :group 'magit
- :type 'boolean)
-
-(defcustom evil-collection-forge-state
- (if evil-collection-forge-use-y-for-yank 'normal 'motion)
- "State to use for forge."
- :group 'magit
- :type 'symbol)
-
-(defvar forge-add-default-bindings)
-
-;;;###autoload
-(defun evil-collection-forge-setup ()
- "Set up `evil' bindings for `magit'."
- ;; The latest release tag of forge doesn't include
- ;; `forge-add-default-bindings' yet, it will throw an error:
- ;;
- ;; void-variable `forge-add-default-bindings'
- ;;
- ;; for GNU Guix and MELPA stable users.
- (when (bound-and-true-p forge-add-default-bindings)
- (message "Setting `forge-add-default-bindings' to nil in `evil-collection-forge-setup'.
-To suppress this message you can set this variable to nil in your init.el file.")
- (setq forge-add-default-bindings nil))
- (let ((states (if evil-collection-forge-use-y-for-yank
- `(,evil-collection-forge-state visual)
- `(,evil-collection-forge-state))))
- (dolist (state states)
- (evil-collection-define-key state 'magit-mode-map "@" 'forge-dispatch)
-
- (evil-collection-define-key
- state 'magit-commit-section-map
- [remap magit-browse-thing] 'forge-browse-dwim)
- (evil-collection-define-key
- state 'magit-remote-section-map
- [remap magit-browse-thing] 'forge-browse-remote)
- (evil-collection-define-key
- state 'magit-branch-section-map
- [remap magit-browse-thing] 'forge-browse-branch)
-
- (evil-collection-define-key
- state 'magit-commit-section-map (kbd "C-c C-v") 'forge-visit-topic)
- (evil-collection-define-key
- state 'magit-branch-section-map (kbd "C-c C-v") 'forge-visit-topic)))
-
- ;; https://github.com/magit/forge/blob/master/lisp/forge.el
-
- (transient-append-suffix 'magit-dispatch "!"
- '("@" "Forge" forge-dispatch)) ;; N -> @
-
- (transient-append-suffix 'magit-fetch "m"
- '("n" "forge topics" forge-pull))
- (transient-append-suffix 'magit-fetch "n"
- '("N" "forge notifications" forge-pull-notifications))
- (transient-append-suffix 'magit-pull "m"
- '("n" "forge topics" forge-pull))
- (transient-append-suffix 'magit-pull "n"
- '("N" "forge notifications" forge-pull-notifications))
- (transient-append-suffix 'magit-branch "w"
- '("f" "pull-request" forge-checkout-pullreq))
- (transient-append-suffix 'magit-branch "W"
- '("F" "from pull-request" forge-branch-pullreq))
- (transient-append-suffix 'magit-worktree "c"
- '("n" "pull-request worktree" forge-checkout-worktree))
- (transient-append-suffix 'magit-status-jump "w"
- '("Np" "pull-requests" forge-jump-to-pullreqs))
- (transient-append-suffix 'magit-status-jump "Np"
- '("Ni" "issues" forge-jump-to-issues))
- (transient-append-suffix 'magit-merge "a"
- '(7 "M" "Merge using API" forge-merge)))
-
-;;; evil-collection-forge.el ends soon
-(provide 'evil-collection-forge)
-;; Local Variables:
-;; End:
-;;; evil-collection-forge.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/free-keys/evil-collection-free-keys.el b/.config/emacs/lisp/evil-collection/modes/free-keys/evil-collection-free-keys.el
deleted file mode 100644
index b6a5f49..0000000
--- a/.config/emacs/lisp/evil-collection/modes/free-keys/evil-collection-free-keys.el
+++ /dev/null
@@ -1,53 +0,0 @@
-;;; evil-collection-free-keys.el --- Bindings for `free-keys' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `free-keys'.
-(require 'evil-collection)
-(require 'free-keys nil t)
-
-;;; Code:
-(defvar free-keys-mode-map)
-
-(defconst evil-collection-free-keys-maps '(free-keys-mode-map))
-
-(defun evil-collection-free-keys-set-header-line-format ()
- "Tweak `header-line-format' locally for `free-keys'."
- (setq-local header-line-format
- "Help: (c) change buffer (p) change prefix (q) quit"))
-
-;;;###autoload
-(defun evil-collection-free-keys-setup ()
- "Set up `evil' bindings for `free-keys'."
- (add-hook 'free-keys-mode-hook
- #'evil-collection-free-keys-set-header-line-format)
- (evil-set-initial-state 'free-keys-mode 'normal)
- (evil-collection-define-key 'normal 'free-keys-mode-map
- "c" 'free-keys-change-buffer
- "p" 'free-keys-set-prefix
- "q" 'quit-window))
-
-(provide 'evil-collection-free-keys)
-;;; evil-collection-free-keys.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/fzfa/README.org b/.config/emacs/lisp/evil-collection/modes/fzfa/README.org
deleted file mode 100644
index a093e2f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/fzfa/README.org
+++ /dev/null
@@ -1,19 +0,0 @@
-* fzfa
-
- Evil bindings for [[https://github.com/jojojames/fzfa][fzfa]].
-
- No keymap is rebound. Setup marks fzfa's jump-style commands as
- non-repeatable and registers them as evil jumps so =C-o= / =C-i= work after
- selection.
-
-** Jump commands
-
- The commands in =evil-collection-fzfa-jump-commands= are declared with
- =:jump t= and =evil-declare-not-repeat=. This includes buffer-local jumps
- (e.g. =fzfa-swiper=, =fzfa-imenu=, =fzfa-mark=, =fzfa-outline=,
- =fzfa-evil-marks=) and cross-buffer / file jumps (e.g. =fzfa-buffer=,
- =fzfa-recent-file=, =fzfa-find=, =fzfa-grep=, =fzfa-project-find-file=,
- =fzfa-evil-jumps=, =fzfa-org-heading=, =fzfa-info=, etc.).
-
- Non-jumping commands like =fzfa-yank-pop=, =fzfa-register=, =fzfa-M-x= and
- the various history pickers are intentionally excluded.
diff --git a/.config/emacs/lisp/evil-collection/modes/fzfa/evil-collection-fzfa.el b/.config/emacs/lisp/evil-collection/modes/fzfa/evil-collection-fzfa.el
deleted file mode 100644
index ad54dbf..0000000
--- a/.config/emacs/lisp/evil-collection/modes/fzfa/evil-collection-fzfa.el
+++ /dev/null
@@ -1,111 +0,0 @@
-;;; evil-collection-fzfa.el --- Evil bindings for fzfa -*- lexical-binding: t -*-
-
-;; Copyright (C) 2026 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "29.1"))
-;; Keywords: evil, fzfa, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `fzfa'.
-;;
-;; The fzfa commands are autoloaded so no (require 'fzfa nil t) is needed.
-
-;;; Code:
-(require 'evil-collection)
-
-(defvar evil-collection-fzfa-jump-commands
- '(;; Buffer-local jumps.
- fzfa-swiper
- fzfa-imenu
- fzfa-imenu-all-but-current
- fzfa-mark
- fzfa-outline
- fzfa-evil-marks
- ;; Cross-buffer / file jumps.
- fzfa-swiper-all
- fzfa-imenu-all
- fzfa-global-mark
- fzfa-recent-file
- fzfa-buffer
- fzfa-bookmark
- fzfa-tramp
- fzfa-evil-jumps
- fzfa-find
- fzfa-fd
- fzfa-locate
- fzfa-grep
- fzfa-grep-current-file
- fzfa-ugrep
- fzfa-rg
- fzfa-rg-files
- fzfa-ag
- fzfa-ag-files
- fzfa-git-grep
- fzfa-git-ls-files
- fzfa-git-modified-locally
- fzfa-git-added-files
- fzfa-git-staged-for-commit
- fzfa-git-modified-in-head
- fzfa-git-log-grep
- fzfa-hg-files
- fzfa-hg-modified-locally
- fzfa-hg-added-files
- fzfa-hg-modified-in-head
- fzfa-project-find-file
- fzfa-project-find-dir
- fzfa-project-buffer
- fzfa-project-recentf
- fzfa-project-switch-project
- fzfa-compile-error
- fzfa-flymake
- fzfa-flymake-project
- fzfa-org-heading
- fzfa-org-heading-all
- fzfa-org-agenda
- fzfa-org-todo
- fzfa-org-tags-view
- fzfa-info
- fzfa-info-emacs
- fzfa-info-elisp
- fzfa-info-org
- fzfa-info-cl
- fzfa-info-eieio
- fzfa-info-magit
- fzfa-info-at-point
- fzfa-hungry-swiper
- fzfa-hungry-find
- fzfa-find-any
- fzfa-find-some
- fzfa-evil-any)
- "List of `fzfa' commands that should be treated as evil jumps.")
-
-(defun evil-collection-fzfa-set-bindings ()
- "Set the bindings."
- (dolist (cmd evil-collection-fzfa-jump-commands)
- (evil-declare-not-repeat cmd)
- (evil-set-command-property cmd :jump t)))
-
-;;;###autoload
-(defun evil-collection-fzfa-setup ()
- "Set up `evil' bindings for `fzfa'."
- (evil-collection-fzfa-set-bindings))
-
-(provide 'evil-collection-fzfa)
-;;; evil-collection-fzfa.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/geiser/README.org b/.config/emacs/lisp/evil-collection/modes/geiser/README.org
deleted file mode 100644
index d20565b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/geiser/README.org
+++ /dev/null
@@ -1,62 +0,0 @@
-* geiser
-
- Evil bindings for [[https://www.nongnu.org/geiser/][Geiser]] (Scheme).
-
- Sets initial state to =normal= for =geiser-debug-mode= and
- =geiser-doc-mode=. When =evil-move-beyond-eol= is nil, advises
- =geiser-eval-last-sexp= and =geiser-eval-last-sexp-and-print= so the
- last sexp is taken with point treated as one past EOL in normal/motion
- state.
-
-** Key bindings
-
-*** geiser-mode-map
-
- | Command | Original | Evil |
- |----------------------------------------+---------------+-------|
- | =geiser-edit-symbol-at-point= | =M-.= | =gd= |
- | =geiser-pop-symbol-stack= | =M-,= | =C-t= |
- | =geiser-mode-switch-to-repl= | =C-c C-z= | =gz= |
- | =geiser-mode-switch-to-repl-and-enter= | =C-c C-a= | =gZ= |
- | =geiser-doc-symbol-at-point= | =C-c C-d C-d= | =K= |
-
-*** geiser-repl-mode-map
-
- | Command | Original | Evil |
- |-----------------------------------+---------------+-------------------------------------|
- | =geiser-edit-symbol-at-point= | =M-.= | =gd= |
- | =geiser-pop-symbol-stack= | =M-,= | =C-t= |
- | =geiser-repl-next-prompt= | =C-c C-n= | =gj=, =C-j=, =]]= |
- | =geiser-repl-previous-prompt= | =C-c C-p= | =gk=, =C-k=, =[[= |
- | =geiser-doc-symbol-at-point= | =C-c C-d C-d= | =K= |
- | =geiser-repl-maybe-send= | =RET= | =RET= (submit state) |
- | =geiser-repl--newline-and-indent= | =C-j= | =S-<return>=, =RET= (newline state) |
-
- Whether =RET= submits depends on =evil-collection-repl-submit-state=:
- in =insert= (default) =RET= submits, =S-<return>= inserts a newline;
- in =normal=, =RET= inserts a newline in insert state and submits in
- normal state.
-
-*** geiser-doc-mode-map
-
- | Command | Original | Evil |
- |-------------------------------+--------------+----------------------|
- | =forward-button= | =TAB=, =n= | =TAB=, =gj=, =C-j= |
- | =backward-button= | =S-TAB=, =p= | =S-TAB=, =gk=, =C-k= |
- | =geiser-edit-symbol-at-point= | =.= | =gd= |
- | =geiser-pop-symbol-stack= | =M-,= | =C-t= |
- | =geiser-doc-refresh= | =g=, =r= | =gr= |
- | =View-quit= | =q= (View) | =q= |
- | =geiser-doc-switch-to-repl= | =z= | =gz= |
- | =geiser-doc-next= | =f= | =>= |
- | =geiser-doc-previous= | =b= | =<= |
- | =geiser-doc-next-section= | =N= | =]]= |
- | =geiser-doc-previous-section= | =P= | =[[= |
- | =geiser-doc-kill-page= | =k= | =x= |
- | =geiser-doc-clean-history= | =c= | =X= |
-
-*** geiser-debug-mode-map
-
- | Command | Original | Evil |
- |---------------+----------+------|
- | =quit-window= | | =q= |
diff --git a/.config/emacs/lisp/evil-collection/modes/geiser/evil-collection-geiser.el b/.config/emacs/lisp/evil-collection/modes/geiser/evil-collection-geiser.el
deleted file mode 100644
index 24fb46e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/geiser/evil-collection-geiser.el
+++ /dev/null
@@ -1,115 +0,0 @@
-;;; evil-collection-geiser.el --- Bindings for `geiser' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, geiser, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `geiser'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'geiser nil t)
-
-(defvar geiser-debug-mode-map)
-(defvar geiser-doc-mode-map)
-
-(defconst evil-collection-geiser-maps '(geiser-debug-mode-map
- geiser-doc-mode-map
- geiser-repl-mode-map
- geiser-mode-map))
-
-(defun evil-collection-geiser-last-sexp (command &rest args)
- "In normal-state or motion-state, last sexp ends at point."
- (if (and (not evil-move-beyond-eol)
- (or (evil-normal-state-p) (evil-motion-state-p)))
- (save-excursion
- (unless (or (eobp) (eolp)) (forward-char))
- (apply command args))
- (apply command args)))
-
-;;;###autoload
-(defun evil-collection-geiser-setup ()
- "Set up bindings for `geiser'."
- (unless evil-move-beyond-eol
- (advice-add 'geiser-eval-last-sexp :around 'evil-collection-geiser-last-sexp)
- (advice-add 'geiser-eval-last-sexp-and-print :around 'evil-collection-geiser-last-sexp))
-
- (evil-set-initial-state 'geiser-debug-mode 'normal)
- (evil-set-initial-state 'geiser-doc-mode 'normal)
-
- (evil-collection-define-key 'normal 'geiser-debug-mode-map
- "q" 'quit-window)
-
- (evil-collection-define-key 'normal 'geiser-doc-mode-map
- (kbd "<tab>") 'forward-button
- (kbd "<S-tab>") 'backward-button
- "gd" 'geiser-edit-symbol-at-point
- (kbd "C-t") 'geiser-pop-symbol-stack
- "gr" 'geiser-doc-refresh
- "q" 'View-quit
- "gz" 'geiser-doc-switch-to-repl
- ">" 'geiser-doc-next
- "<" 'geiser-doc-previous
- "gj" 'forward-button
- "gk" 'backward-button
- (kbd "C-j") 'forward-button
- (kbd "C-k") 'backward-button
- "]]" 'geiser-doc-next-section
- "[[" 'geiser-doc-previous-section
- "x" 'geiser-doc-kill-page
- "X" 'geiser-doc-clean-history)
-
- (evil-collection-define-key 'insert 'geiser-repl-mode-map
- (kbd "S-<return>") 'geiser-repl--newline-and-indent)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'geiser-repl-mode-map
- (kbd "RET") 'geiser-repl-maybe-send
- (kbd "\C-m") 'geiser-repl-maybe-send
- [return] 'geiser-repl-maybe-send)
- (evil-collection-define-key newline-state 'geiser-repl-mode-map
- (kbd "RET") 'geiser-repl--newline-and-indent
- (kbd "\C-m") 'geiser-repl--newline-and-indent
- [return] 'geiser-repl--newline-and-indent))
-
- (evil-collection-define-key 'normal 'geiser-repl-mode-map
- "gd" 'geiser-edit-symbol-at-point
- (kbd "C-t") 'geiser-pop-symbol-stack
- "gj" 'geiser-repl-next-prompt
- "gk" 'geiser-repl-previous-prompt
- (kbd "C-j") 'geiser-repl-next-prompt
- (kbd "C-k") 'geiser-repl-previous-prompt
- "]]" 'geiser-repl-next-prompt
- "[[" 'geiser-repl-previous-prompt
- "K" 'geiser-doc-symbol-at-point)
-
- (evil-collection-define-key 'normal 'geiser-mode-map
- "gd" 'geiser-edit-symbol-at-point
- (kbd "C-t") 'geiser-pop-symbol-stack
- "gZ" 'geiser-mode-switch-to-repl-and-enter
- "gz" 'geiser-mode-switch-to-repl
- "K" 'geiser-doc-symbol-at-point))
-
-(provide 'evil-collection-geiser)
-;;; evil-collection-geiser.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ggtags/evil-collection-ggtags.el b/.config/emacs/lisp/evil-collection/modes/ggtags/evil-collection-ggtags.el
deleted file mode 100644
index 1414255..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ggtags/evil-collection-ggtags.el
+++ /dev/null
@@ -1,104 +0,0 @@
-;;; evil-collection-ggtags.el --- Evil bindings for ggtags -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, ggtags, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `ggtags-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'ggtags nil t)
-
-(defvar ggtags-global-mode-map)
-(defvar ggtags-mode-map)
-(defvar ggtags-view-search-history-mode-map)
-(defvar ggtags-view-tag-history-mode-map)
-(defvar ggtags-navigation-map)
-
-(defconst evil-collection-ggtags-maps '(ggtags-mode-map
- ggtags-view-search-history-mode-map
- ggtags-view-tag-history-mode-map
- ggtags-navigation-map))
-
-;;;###autoload
-(defun evil-collection-ggtags-setup ()
- "Set up `evil' bindings for `ggtags'."
- (evil-set-initial-state 'ggtags-global-mode 'normal)
- (evil-set-initial-state 'ggtags-view-search-history-mode 'normal)
- (evil-set-initial-state 'ggtags-view-tag-history-mode 'normal)
-
- ;; `ggtags-navigation-mode' is global and will conflict with other bindings.
- ;; https://github.com/leoliu/ggtags/issues/124
- (when (boundp 'ggtags-enable-navigation-keys)
- (setq ggtags-enable-navigation-keys nil))
-
- (evil-collection-define-key 'normal 'ggtags-mode-map
- "gd" 'ggtags-find-tag-dwim
- (kbd "C-t") 'ggtags-prev-mark
- "gf" 'ggtags-find-file)
-
- (when evil-collection-want-find-usages-bindings
- (evil-collection-define-key 'normal 'ggtags-mode-map
- "gr" 'ggtags-find-reference))
-
- (evil-collection-define-key 'normal 'ggtags-view-search-history-mode-map
- "gj" 'ggtags-view-search-history-next
- "gk" 'ggtags-view-search-history-prev
- (kbd "C-j") 'ggtags-view-search-history-next
- (kbd "C-k") 'ggtags-view-search-history-prev
- "]]" 'ggtags-view-search-history-next
- "[[" 'ggtags-view-search-history-prev
- "x" 'ggtags-view-search-history-kill
- "gr" 'ggtags-view-search-history-update
- "r" 'ggtags-save-to-register
- "R" 'ggtags-view-search-history-action
- "q" 'ggtags-kill-window)
-
- (evil-collection-define-key 'normal 'ggtags-view-tag-history-mode-map
- "gj" 'next-error-no-select
- (kbd "C-j") 'next-error-no-select
- "]]" 'next-error-no-select
- "gk" 'previous-error-no-select
- (kbd "C-k") 'previous-error-no-select
- (kbd "[[") 'previous-error-no-select
- "q" 'ggtags-kill-window)
-
- (evil-collection-define-key 'normal 'ggtags-navigation-map
- ;; navigation
- "gj" 'next-error
- "gk" 'previous-error
- (kbd "C-j") 'next-error
- (kbd "C-k") 'previous-error
- "]]" 'ggtags-navigation-next-file
- "[[" 'ggtags-navigation-previous-file
-
- ;; search
- "s" 'ggtags-navigation-isearch-forward
- "S" 'ggtags-navigation-isearch-forward
-
- "go" 'ggtags-navigation-visible-mode ;; FIXME: This can be anything.
- (kbd "RET") 'ggtags-navigation-mode-done))
-
-(provide 'evil-collection-ggtags)
-;;; evil-collection-ggtags.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/git-timemachine/README.org b/.config/emacs/lisp/evil-collection/modes/git-timemachine/README.org
deleted file mode 100644
index bfa19ae..0000000
--- a/.config/emacs/lisp/evil-collection/modes/git-timemachine/README.org
+++ /dev/null
@@ -1,20 +0,0 @@
-* git-timemachine
-
- Evil bindings for [[https://codeberg.org/pidu/git-timemachine][git-timemachine]].
-
- Bindings are installed on =git-timemachine-mode= as minor-mode keys so
- they apply in =normal= state in any buffer where the minor mode is
- active.
-
-** Key bindings
-
- | Command | Original | Evil |
- |---------------------------------------------+----------+-------|
- | =git-timemachine-show-previous-revision= | =p= | =C-k= |
- | =git-timemachine-show-next-revision= | =n= | =C-j= |
- | =git-timemachine-quit= | =q= | =q= |
- | =git-timemachine-show-nth-revision= | =g= | =gtg= |
- | =git-timemachine-show-revision-fuzzy= | =t= | =gtt= |
- | =git-timemachine-kill-abbreviated-revision= | =w= | =gty= |
- | =git-timemachine-kill-revision= | =W= | =gtY= |
- | =git-timemachine-blame= | =b= | =gtb= |
diff --git a/.config/emacs/lisp/evil-collection/modes/git-timemachine/evil-collection-git-timemachine.el b/.config/emacs/lisp/evil-collection/modes/git-timemachine/evil-collection-git-timemachine.el
deleted file mode 100644
index 3debd22..0000000
--- a/.config/emacs/lisp/evil-collection/modes/git-timemachine/evil-collection-git-timemachine.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-git-timemachine.el --- Bindings for `git-timemachine' -*- lexical-binding: t -*-
-
-;; Author: William Carroll <wpcarro@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, git, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil keybindings for `git-timemachine' that conform to the principles
-;; outlines in evil-collection
-
-;;; Code:
-(require 'evil-collection)
-(require 'git-timemachine nil t)
-
-(defvar git-timemachine-mode-map)
-(defconst evil-collection-git-timemachine-map '(git-timemachine-mode-map))
-
-;;;###autoload
-(defun evil-collection-git-timemachine-setup ()
- "Setup `evil' keybindings for `git-timemachine'."
- (evil-define-minor-mode-key 'normal 'git-timemachine-mode
- "\C-k" 'git-timemachine-show-previous-revision
- "\C-j" 'git-timemachine-show-next-revision
- "q" 'git-timemachine-quit
- "gtg" 'git-timemachine-show-nth-revision
- "gtt" 'git-timemachine-show-revision-fuzzy
- "gty" 'git-timemachine-kill-abbreviated-revision
- "gtY" 'git-timemachine-kill-revision
- "gtb" 'git-timemachine-blame))
-
-(provide 'evil-collection-git-timemachine)
-;;; evil-collection-git-timemachine.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/gited/evil-collection-gited.el b/.config/emacs/lisp/evil-collection/modes/gited/evil-collection-gited.el
deleted file mode 100644
index c68c48c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/gited/evil-collection-gited.el
+++ /dev/null
@@ -1,157 +0,0 @@
-;;; evil-collection-gited.el --- Evil bindings for Gited -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 Earl Hyatt
-
-;; Author: Earl Hyatt <okamsn@protonmail.com>
-;; Maintainer: Earl Hyatt <okamsn@protonmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3") (evil "1.2") (gited "0.6"))
-;; Keywords: evil, git, tools, vc
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Gited.
-
-;;; Code:
-(require 'gited nil t)
-(require 'evil-collection)
-(declare-function gited-summary "gited")
-(declare-function gited-hide-details-mode "gited")
-
-(defconst evil-collection-gited-maps '(gited-mode-map))
-
-;;;###autoload
-(defun evil-collection-gited-setup ()
- "Set up `evil' bindings for `gited'."
- (evil-collection-set-readonly-bindings 'gited-mode-map)
- (evil-collection-define-key 'normal 'gited-mode-map
- "g?" 'gited-summary
- "(" 'gited-hide-details-mode
- "gr" 'gited-update
- (kbd "C-c C-c") 'gited-commit
- (kbd "C-c C-b") 'gited-list-branches
-
- ;; Movement
- "j" 'gited-next-line
- "k" 'gited-prev-line
- (kbd "M-{") 'gited-prev-marked-branch
- (kbd "M-}") 'gited-next-marked-branch
- "G" 'gited-goto-last-branch
- "gg" 'gited-goto-first-branch
- "gj" 'gited-next-marked-branch
- "gk" 'gited-prev-marked-branch
- "gl" 'tabulated-list-next-column
- "gh" 'tabulated-list-previous-column
- "]]" 'gited-next-marked-branch
- "[[" 'gited-prev-marked-branch
- "<" 'gited-prev-marked-branch
- ">" 'gited-next-marked-branch
- " " 'gited-next-line
- [?\S-\ ] 'gited-prev-line
- [remap next-line] 'gited-next-line
- [remap previous-line] 'gited-prev-line
- "J" 'gited-goto-branch
-
- "gA" 'gited-move-to-end-of-author
- "ga" 'gited-move-to-author
- "gB" 'gited-move-to-end-of-branchname
- "gb" 'gited-move-to-branchname
- "gD" 'gited-move-to-end-of-date
- "gd" 'gited-move-to-date
-
- ;; Operations on Things at Point
- "=" 'gited-diff
- "A" 'gited-add-patched-files
- "a" 'gited-apply-patch
- "B" 'gited-bisect
- "C" 'gited-copy-branch
- "c" 'gited-checkout-branch
- "d" 'gited-flag-branch-deletion
- "e" 'gited-extract-patches
- "F" 'gited-pull ; Similar to Magit binding. Don't conflict with "f".
- "gR" 'gited-change-current-remote-rep
-
- "gs" 'gited-status ; These "g"-prefixed operations open
- "gL" 'gited-log ; new windows.
- "gN" 'gited-log-last-n-commits ;
- "gO" 'gited-origin ; Use "go" to visit branch source.
- "gc" 'gited-show-commit ;
-
- "M" 'gited-merge-branch
- "O" 'tabulated-list-sort
- "o" 'tabulated-list-sort
- "P" 'gited-push ; Only branches.
- "p" 'gited-set-object-upstream ; Pushes branches and tags.
- "R" 'gited-rename-branch
- "r" 'gited-reset-branch
- "s" nil ; Don't conflict with `tabulated-list-sort' on "S".
- "ss" 'gited-stash
- "sA" 'gited-stash-pop
- "sa" 'gited-stash-apply
- "sb" 'gited-stash-branch
- "sD" 'gited-delete-all-stashes
- "sd" 'gited-stash-drop
- "Y" 'gited-copy-branchname-as-kill
-
- (kbd "RET") 'gited-visit-branch-sources
- "go" 'gited-visit-branch-sources
-
- ;; Operations on Marked and Flagged Branches/Tags
- "D" 'gited-do-delete
- "K" 'gited-do-kill-lines
- "T" 'gited-do-sync-with-trunk
- "x" 'gited-do-flagged-delete
-
- ;; Marks
- "*" nil
- "*%" 'gited-mark-branches-regexp
- "*m" 'gited-mark
- "*u" 'gited-unmark
- "*?" 'gited-unmark-all-branches
- "*!" 'gited-unmark-all-marks
- (kbd "* <delete>") 'gited-unmark-backward
- (kbd "* C-n") 'gited-next-marked-branch
- (kbd "* C-p") 'gited-prev-marked-branch
- "*t" 'gited-toggle-marks
- "*l" 'gited-mark-local-tags
- "*N" 'gited-number-marked
-
- "U" 'gited-unmark-all-marks
- "m" 'gited-mark
- "t" 'gited-toggle-marks
- "~" 'gited-toggle-marks
- "u" 'gited-unmark
- (kbd "<delete>") 'gited-unmark-backward
-
- ;; Searching for marks
- "%" nil
- ;; "%d" No flag for deletion.
- "%t" 'gited-mark-branches-by-date
- "%c" 'gited-mark-branches-containing-commit
- "%g" 'gited-mark-branches-containing-regexp
- "%m" 'gited-mark-branches-regexp
- "%M" 'gited-mark-merged-branches
- "%U" 'gited-mark-unmerged-branches
-
- ;; Tags instead of thumbnails. Only usable when listing tags. Ideally,
- ;; these would have a separate map that would be used when displaying tags.
- (kbd "C-t a") 'gited-tag-add
- (kbd "C-t d") 'gited-tag-delete
- (kbd "C-t D") 'gited-remote-tag-delete
- (kbd "C-t F") 'gited-fetch-remote-tags))
-
-(provide 'evil-collection-gited)
-;;; evil-collection-gited.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/gnus/README.org b/.config/emacs/lisp/evil-collection/modes/gnus/README.org
deleted file mode 100644
index d9a8ae2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/gnus/README.org
+++ /dev/null
@@ -1,274 +0,0 @@
-* gnus
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/gnus/index.html][Gnus]]. Initial state is normal in every gnus mode below,
- insert state is inhibited, and =zz= is bound to =gnus-recenter= everywhere.
- Each map keeps the bulk of its upstream alphabetic prefixes (=A=, =B=, =G=,
- =M=, =S=, =W=, =X=, =Y=, =Z=, =/=, etc.); the tables below cover only what
- evil-collection relocates or adds.
-
-** Key bindings
-
-*** gnus-summary-mode-map
-
- | Command | Original | Evil |
- |-----------------------------------------------+----------------+----------------|
- | =gnus-summary-exit= | =q= | =q=, =ZZ= |
- | =gnus-summary-exit-no-update= | =Q= | =Q=, =ZQ= |
- | =gnus-summary-help-map= | =H= | =g?= |
- | =gnus-summary-widget-forward= | n/a | =TAB= |
- | =gnus-summary-widget-backward= | n/a | =<backtab>= |
- | =gnus-summary-next-page= | =SPC= | =SPC= |
- | =gnus-summary-prev-page= | =DEL=, =S-SPC= | =DEL=, =S-SPC= |
- | =gnus-summary-scroll-up= | =RET= | =RET= |
- | =gnus-summary-prev-unread-article= | =p= | =gk=, =[[= |
- | =gnus-summary-next-unread-article= | =n= | =gj=, =]]= |
- | =gnus-summary-prev-thread= | =M-b= | ={= |
- | =gnus-summary-next-thread= | =M-f= | =}= |
- | =gnus-summary-prev-article= | =P= | =C-k= |
- | =gnus-summary-next-article= | =N= | =C-j= |
- | =gnus-summary-mark-as-processable= | =#= | =m= |
- | =gnus-uu-mark-buffer= | (M H b) | =M= |
- | =gnus-summary-unmark-as-processable= | =M-#= | =u= |
- | =gnus-summary-unmark-all-processable= | (M H U) | =U= |
- | =gnus-uu-mark-by-regexp= | (M P r) | =%= |
- | =gnus-summary-mail-other-window= | =m= | =C=, =cc= |
- | =gnus-summary-news-other-window= | (S i) | =ci= |
- | =gnus-summary-followup= | =f= | =f=, =cf= |
- | =gnus-summary-followup-with-original= | =F= | =F=, =cF= |
- | =gnus-summary-reply= | =r= | =r=, =cr= |
- | =gnus-summary-reply-with-original= | =R= | =R=, =cR= |
- | =gnus-summary-very-wide-reply= | (S W) | =cw= |
- | =gnus-summary-very-wide-reply-with-original= | (S W) | =cW= |
- | =gnus-summary-mail-forward= | =C-c C-f= | =C-c C-f= |
- | =gnus-summary-first-unread-article= | (G f) | =.= |
- | =gnus-summary-best-unread-article= | (G b) | =,= |
- | =gnus-summary-mark-as-read-forward= | =d= | =!= |
- | =gnus-summary-tick-article-forward= | =u=, =!= | === |
- | =gnus-summary-goto-article= | =j= | =J= |
- | =gnus-summary-rescan-group= | =M-g= | =gr= |
- | =gnus-summary-edit-article= | =e= | =e= |
- | =gnus-summary-mark-as-expirable= | =E= | =E= |
- | =gnus-summary-limit-map= | =/= | =z/= |
- | =gnus-summary-toggle-header= | =t= | =zt= |
- | =gnus-summary-limit-to-unread= | =x= | =x= |
- | =gnus-summary-browse-url= | =w= | =gX= |
- | =gnus-summary-refer-parent-article= | =^= | =^= |
- | =gnus-summary-refer-article= | =M-^= | =M-^= |
- | =gnus-summary-kill-thread= | (T K) | =Tk= |
- | =gnus-summary-lower-thread= | =M-l= | =Tl= |
- | =gnus-summary-raise-thread= | (T I) | =Ti= |
- | =gnus-uu-mark-thread= | (T #) | =Tm= |
- | =gnus-uu-unmark-thread= | (T M-#) | =Tu= |
- | =gnus-summary-toggle-threads= | =M-t= | =TT= |
- | =gnus-summary-show-thread= | =M-s= | =Ts=, =zo= |
- | =gnus-summary-hide-thread= | =M-h= | =Th=, =zc= |
- | =gnus-summary-show-all-threads= | (T S) | =TS= |
- | =gnus-summary-hide-all-threads= | (T H) | =TH= |
- | =gnus-summary-rethread-current= | (T t) | =Tt= |
- | =gnus-summary-reparent-thread= | (T ^) | =T^= |
- | =gnus-summary-reparent-children= | (T M-^) | =T M-^= |
- | =gnus-summary-next-thread= | =M-f= | =Tn= |
- | =gnus-summary-prev-thread= | =M-b= | =Tp= |
- | =gnus-summary-down-thread= | (T d) | =Td= |
- | =gnus-summary-up-thread= | (T u) | =Ta= |
- | =gnus-summary-top-thread= | (T o) | =To= |
- | =gnus-summary-search-article-forward= | =M-s= | =M-s= |
- | =gnus-summary-search-article-backward= | =M-r= | =M-r= |
- | =gnus-summary-repeat-search-article-forward= | =M-S= | =M-S= |
- | =gnus-summary-repeat-search-article-backward= | =M-R= | =M-R= |
- | =gnus-summary-execute-command= | =&= | =&= |
- | =gnus-summary-universal-argument= | =M-&= | =M-&= |
- | =gnus-cache-enter-article= | =*= | =*= |
- | =gnus-cache-remove-article= | =M-*= | =M-*= |
- | =gnus-summary-increase-score= | =I= | =I= |
- | =gnus-summary-lower-score= | =L= | =L= |
-
- Grouped relocations:
-
- - Sort (=o= prefix): =oa= author, =oc= chars, =od= date, =oi= score, =ol=
- lines, =omd= most-recent-date, =omm= marks, =omn= most-recent-number,
- =on= number, =oo= original, =or= random, =os= subject, =ot= recipient.
- - Save (=O= prefix, was upstream =O=): =Oo= article, =Om= mail, =Or= rmail,
- =Of= file, =OF= write-article-file, =Ob= body-file, =Oh= folder, =Ov= vm,
- =Op= pipe-output, =OP= muttprint. =gnus-summary-pipe-output= is also on
- the literal pipe key.
- - Decode (=X= prefix): =Xu/XU/Xvu/XvU= uu, =Xs/XS/Xvs/XvS= unshar,
- =Xp/XP/Xvp/XvP= postscript, =Xo= save, =Xb= binhex, =XY= yenc.
- - Mail-group ops (=B= prefix): =Be= expire, =BE= expire-now, =Bd= delete,
- =Bm= move, =Bc= copy, =Bb= crosspost, =Bi= import, =BI= create, =Br=
- respool, =Bw= edit, =Bq= respool-query, =Bt= respool-trace, =Bp=
- article-posted-p.
-
-*** gnus-article-mode-map
-
- Motion-state additions:
-
- | Command | Original | Evil |
- |-----------------------------------------+----------+------|
- | =gnus-article-followup-with-original= | =F= | =F= |
- | =gnus-article-reply-with-original= | =R= | =R= |
- | =gnus-article-wide-reply-with-original= | =W= | =W= |
-
- Normal-state:
-
- | Command | Original | Evil |
- |-----------------------------------------+----------------+----------------------|
- | =evil-window-delete= | n/a | =q=, =Q=, =ZZ=, =ZQ= |
- | =forward-button= | =TAB= | =TAB= |
- | =backward-button= | =<backtab>= | =<backtab>= |
- | =gnus-article-goto-next-page= | =SPC= | =SPC= |
- | =gnus-article-goto-prev-page= | =DEL=, =S-SPC= | =DEL=, =S-SPC= |
- | =gnus-summary-reply= | =r= | =r=, =cr= |
- | =gnus-article-reply-with-original= | =R= | =R= |
- | =gnus-article-mail= | =C-c m= | =C=, =cc= |
- | =gnus-summary-reply-with-original= | n/a | =cR= |
- | =gnus-summary-followup= | n/a | =cf= |
- | =gnus-summary-followup-with-original= | n/a | =cF= |
- | =gnus-summary-very-wide-reply= | n/a | =cw= |
- | =gnus-article-wide-reply-with-original= | n/a | =cW= |
- | =gnus-summary-mail-forward= | =C-c C-f= | =C-c C-f= |
- | =gnus-article-refer-article= | =C-c ^= | =C-]= |
- | =gnus-article-show-summary= | =h=, =s= | =s= |
- | =gnus-summary-show-article= | =g= | =gr= |
- | =gnus-summary-browse-url= | n/a | =gX= |
-
- Washing commands move under the =zw= prefix:
-
- | Command | Original | Evil |
- |-------------------------------------------+----------+--------|
- | =gnus-summary-stop-page-breaking= | =W l= | =zwl= |
- | =gnus-summary-caesar-message= | =W r= | =zwr= |
- | =gnus-summary-morse-message= | =W m= | =zwm= |
- | =gnus-summary-idna-message= | =W i= | =zwi= |
- | =gnus-summary-toggle-header= | =t= | =zwt= |
- | =gnus-summary-verbose-headers= | =W v= | =zwv= |
- | =gnus-article-treat-overstrike= | =W o= | =zwo= |
- | =gnus-article-treat-smartquotes= | =W d= | =zwd= |
- | =gnus-article-treat-non-ascii= | =W U= | =zwu= |
- | =gnus-article-outlook-deuglify-article= | =W Y f= | =zwyf= |
- | =gnus-article-outlook-unwrap-lines= | =W Y u= | =zwyu= |
- | =gnus-article-outlook-repair-attribution= | =W Y a= | =zwya= |
- | =gnus-article-outlook-rearrange-citation= | =W Y c= | =zwyc= |
- | =gnus-article-fill-cited-article= | =W w= | =zww= |
- | =gnus-article-fill-long-lines= | =W Q= | =zwq= |
- | =gnus-article-capitalize-sentences= | =W C= | =zwc= |
- | =gnus-article-de-base64-unreadable= | =W 6= | =zw6= |
- | =gnus-article-decode-HZ= | =W Z= | =zwz= |
- | =gnus-article-treat-ansi-sequences= | =W A= | =zwa= |
- | =gnus-article-add-buttons= | =W b= | =zwb= |
- | =gnus-article-add-buttons-to-head= | =W B= | =zwB= |
- | =gnus-article-verify-x-pgp-sig= | =W p= | =zwp= |
- | =gnus-summary-force-verify-and-decrypt= | =W s= | =zws= |
-
-*** gnus-group-mode-map
-
- | Command | Original | Evil |
- |------------------------------------------+-------------+------------|
- | =gnus-group-exit= | =q= | =q=, =ZZ= |
- | =gnus-group-quit= | =Q= | =Q=, =ZQ= |
- | =gnus-group-prev-unread-group= | =p= | =gk=, =[[= |
- | =gnus-group-next-unread-group= | =n= | =gj=, =]]= |
- | =gnus-group-next-group= | =N= | =C-j= |
- | =gnus-group-prev-group= | =P= | =C-k= |
- | =gnus-group-mail= | =m= | =C=, =cc= |
- | =gnus-group-news= | =i= | =ci= |
- | =gnus-group-first-unread-group= | =.= | =.= |
- | =gnus-group-best-unread-group= | =,= | =,= |
- | =gnus-activate-all-groups= | =M-g M-a= | =A= |
- | =gnus-group-browse-foreign-server= | =B= | =B= |
- | =gnus-group-edit-group= | =M-e= | =E= |
- | =gnus-group-find-new-groups= | =F= | =F= |
- | =gnus-group-jump-to-group= | =j= | =J= |
- | =gnus-group-rename-group= | (G r) | =R= |
- | =gnus-group-expunge-group= | (G x) | =X= |
- | =gnus-group-select-group= | =RET= | =RET= |
- | =gnus-group-read-group= | =SPC= | =SPC= |
- | =gnus-group-get-new-news-this-group= | =g= | =gr= |
- | =gnus-group-get-new-news= | =g= | =gR= |
- | =gnus-group-unsubscribe-current-group= | =u= | =gu= |
- | =gnus-group-unsubscribe-group= | =U= | =gU= |
- | =gnus-group-catchup-current= | =c= | =gc= |
- | =gnus-group-catchup-current-all= | =C= | =gC= |
- | =gnus-group-expire-articles= | =C-c M-x= | =ge= |
- | =gnus-group-expire-all-groups= | =C-c M-C-x= | =gE= |
- | =gnus-group-set-current-level= | (G S l) | =gl= |
- | =gnus-group-kill-group= | =C-k= | =dd=, =D= |
- | =gnus-group-yank-group= | =C-y= | =p=, =P= |
- | =gnus-group-mark-group= | =#= | =m= |
- | =gnus-group-unmark-group= | =M-#= | =u= |
- | =gnus-group-unmark-all-groups= | (M U) | =U= |
- | =gnus-group-mark-buffer= | (M b) | =M=, =*= |
- | =gnus-group-mark-regexp= | (M r) | =%= |
- | =gnus-group-apropos= | =C-c M-a= | =s= |
- | =gnus-group-description-apropos= | =C-c M-A= | =S= |
- | =gnus-group-read-ephemeral-search-group= | n/a | =M-s= |
- | =gnus-group-enter-server-mode= | =^= | =^= |
- | =gnus-group-prev-unread-group= | =DEL= | =DEL= |
- | =gnus-group-help-map= | =H= | =g?= |
-
- Grouped relocations:
-
- - Sort (=o= prefix): =oa= alphabet, =ol= level, =om= method, =on=
- real-name, =or= rank, =os= sort, =ou= unread, =ov= score.
- - List (=L= prefix, was upstream =A=): =L!= ticked, =L/= limit-map, =L?=
- dormant, =La= active, =Lc= cached, =Lf= flush-map, =Lk= killed, =Ll=
- level, =Lm= matching, =LM= all-matching, =Lp= plus-map, =Ls= groups,
- =Lu= all-groups, =Lz= zombies.
- - Topic (=T= prefix): =Tn= create, =Tj= jump, =Tr= rename, =Td= delete;
- =zo= / =zc= show/hide topic. Topic sort under =To{a,u,l,v,r,m,e,s}=.
-
-*** gnus-server-mode-map
-
- | Command | Original | Evil |
- |--------------------------------------------+----------+----------------------|
- | =gnus-server-exit= | =q= | =q=, =Q=, =ZZ=, =ZQ= |
- | =gnus-server-read-server= | =RET= | =RET= |
- | =gnus-server-read-server-in-server-buffer= | =SPC= | =SPC= |
- | =gnus-server-close-server= | =C= | =C= |
- | =gnus-server-deny-server= | =D= | =D= |
- | =gnus-group-make-nnir-group= | =G= | =G= |
- | =gnus-server-set-cloud-method-server= | =I= | =I= |
- | =gnus-server-offline-server= | =L= | =L= |
- | =gnus-server-open-server= | =O= | =O= |
- | =gnus-server-remove-denials= | =R= | =R= |
- | =gnus-server-show-server= | =S= | =S= |
- | =gnus-server-add-server= | =a= | =a= |
- | =gnus-server-copy-server= | =c= | =y= |
- | =gnus-server-edit-server= | =e= | =e= |
- | =gnus-server-regenerate-server= | =g= | =gr= |
- | =gnus-server-toggle-cloud-server= | =i= | =i= |
- | =gnus-server-kill-server= | =k= | =d= |
- | =gnus-server-list-servers= | =l= | =L= |
- | =gnus-server-scan-server= | =s= | =s= |
- | =gnus-server-yank-server= | =y= | =p= |
- | =gnus-server-compact-server= | =z= | =c= |
- | =gnus-server-close-all-servers= | =M-c= | =M-c= |
- | =gnus-server-open-all-servers= | =M-o= | =M-o= |
-
-*** gnus-browse-mode-map
-
- | Command | Original | Evil |
- |-----------------------------------------+----------+----------------------|
- | =gnus-browse-exit= | =q=, =l= | =q=, =Q=, =ZZ=, =ZQ= |
- | =gnus-browse-unsubscribe-current-group= | =u= | =u= |
- | =gnus-browse-read-group= | =SPC= | =SPC= |
- | =gnus-browse-select-group= | =RET= | =RET= |
-
-*** gnus-bookmark-bmenu-mode-map
-
- | Command | Original | Evil |
- |--------------------------------------------+----------+----------------------|
- | =quit-window= | =q= | =q=, =Q=, =ZZ=, =ZQ= |
- | =gnus-bookmark-bmenu-mark= | =m= | =m= |
- | =gnus-bookmark-bmenu-unmark= | =u= | =u= |
- | =gnus-bookmark-bmenu-backup-unmark= | =DEL= | =DEL= |
- | =gnus-bookmark-bmenu-delete= | =d=, =k= | =d= |
- | =gnus-bookmark-bmenu-execute-deletions= | =x= | =x= |
- | =gnus-bookmark-bmenu-select= | =RET= | =RET= |
- | =gnus-bookmark-bmenu-load= | =l= | =L= |
- | =gnus-bookmark-bmenu-save= | =s= | =s= |
- | =gnus-bookmark-bmenu-toggle-infos= | =t= | =t= |
- | =gnus-bookmark-bmenu-show-details= | =a= | =a= |
- | =gnus-bookmark-bmenu-show-all-annotations= | n/a | =A= |
- | =gnus-bookmark-bmenu-edit-annotation= | n/a | =E= |
- | =gnus-bookmark-bmenu-rename= | n/a | =R= |
diff --git a/.config/emacs/lisp/evil-collection/modes/gnus/evil-collection-gnus.el b/.config/emacs/lisp/evil-collection/modes/gnus/evil-collection-gnus.el
deleted file mode 100644
index cc6b413..0000000
--- a/.config/emacs/lisp/evil-collection/modes/gnus/evil-collection-gnus.el
+++ /dev/null
@@ -1,491 +0,0 @@
-;;; evil-collection-gnus.el --- Bindings for `gnus' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, tools, evil
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `gnus'.
-
-;;; Code:
-(require 'gnus nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-gnus-maps '(gnus-article-mode-map
- gnus-bookmark-bmenu-mode-map
- gnus-browse-mode-map
- gnus-group-mode-map
- gnus-server-mode-map
- gnus-summary-mode-map))
-
-(defvar evil-collection-gnus-common-normal-bindings
- '("zz" gnus-recenter)
- "Keybindings added to all gnus normal mode-maps.
-Note that there is no gnus-common-mode-map")
-
-;;;###autoload
-(defun evil-collection-gnus-setup ()
- "Set up `evil' bindings for `gnus'."
-
- ;; For all gnus modes:
- ;; - Set the initial state to 'normal
- ;; - Inhibit insert
- ;; - Use `evil-collection-gnus-common-normal-bindings'
- (dolist (map evil-collection-gnus-maps)
- (let* ((map-string (symbol-name map))
- (mode-string (string-trim-right map-string "-map"))
- (mode (intern mode-string)))
- (evil-set-initial-state mode 'normal)
- (evil-collection-inhibit-insert-state map)
- (apply #'evil-collection-define-key 'normal map
- evil-collection-gnus-common-normal-bindings)))
-
- (evil-collection-define-key 'normal 'gnus-summary-mode-map
- ;; quit
- "Q" 'gnus-summary-exit-no-update
- "ZQ" 'gnus-summary-exit-no-update
- "q" 'gnus-summary-exit
- "ZZ" 'gnus-summary-exit
-
- "g?" 'gnus-summary-help-map
-
- ;; motion
- (kbd "<tab>") 'gnus-summary-widget-forward
- (kbd "<backtab>") 'gnus-summary-widget-backward
- (kbd "<delete>") 'gnus-summary-prev-page
- (kbd "S-SPC") 'gnus-summary-prev-page
- (kbd "SPC") 'gnus-summary-next-page
- (kbd "RET") 'gnus-summary-scroll-up
- "gk" 'gnus-summary-prev-unread-article
- "gj" 'gnus-summary-next-unread-article
- "[[" 'gnus-summary-prev-unread-article
- "]]" 'gnus-summary-next-unread-article
- "{" 'gnus-summary-prev-thread
- "}" 'gnus-summary-next-thread
- (kbd "C-j") 'gnus-summary-next-article
- (kbd "C-k") 'gnus-summary-prev-article
-
- ;; Marking
- "m" 'gnus-summary-mark-as-processable
- "M" 'gnus-uu-mark-buffer
- "u" 'gnus-summary-unmark-as-processable
- "U" 'gnus-summary-unmark-all-processable
- "%" 'gnus-uu-mark-by-regexp
-
- ;; Composing
- "C" 'gnus-summary-mail-other-window
- "cc" 'gnus-summary-mail-other-window
- "ci" 'gnus-summary-news-other-window
- "f" 'gnus-summary-followup
- "F" 'gnus-summary-followup-with-original
- "cf" 'gnus-summary-followup
- "cF" 'gnus-summary-followup-with-original
-
- ;; Reply
- "r" 'gnus-summary-reply
- "R" 'gnus-summary-reply-with-original
- "cr" 'gnus-summary-reply
- "cR" 'gnus-summary-reply-with-original
- "cw" 'gnus-summary-very-wide-reply
- "cW" 'gnus-summary-very-wide-reply-with-original
- (kbd "C-c C-f") 'gnus-summary-mail-forward
-
- ;; Actions, like mu4e
- ;; Keep the following two bindings consistent with group's
- "." 'gnus-summary-first-unread-article
- "," 'gnus-summary-best-unread-article
- "!" 'gnus-summary-mark-as-read-forward
- "=" 'gnus-summary-tick-article-forward
- "J" 'gnus-summary-goto-article
- "gr" 'gnus-summary-rescan-group
- "e" 'gnus-summary-edit-article
- "E" 'gnus-summary-mark-as-expirable
- "z/" 'gnus-summary-limit-map
- "zt" 'gnus-summary-toggle-header
- "x" 'gnus-summary-limit-to-unread
- "gX" 'gnus-summary-browse-url
-
- ;; Finding the parent
- "^" 'gnus-summary-refer-parent-article
- (kbd "M-^") 'gnus-summary-refer-article
-
- ;; Sorting
- "oa" 'gnus-summary-sort-by-author
- "oc" 'gnus-summary-sort-by-chars
- "od" 'gnus-summary-sort-by-date
- "oi" 'gnus-summary-sort-by-score
- "ol" 'gnus-summary-sort-by-lines
- "omd" 'gnus-summary-sort-by-most-recent-date
- "omm" 'gnus-summary-sort-by-marks
- "omn" 'gnus-summary-sort-by-most-recent-number
- "on" 'gnus-summary-sort-by-number
- "oo" 'gnus-summary-sort-by-original
- "or" 'gnus-summary-sort-by-random
- "os" 'gnus-summary-sort-by-subject
- "ot" 'gnus-summary-sort-by-recipient
-
- ;; Threads commands
- "Tk" 'gnus-summary-kill-thread
- "Tl" 'gnus-summary-lower-thread
- "Ti" 'gnus-summary-raise-thread
- "Tm" 'gnus-uu-mark-thread ;; was T #
- "Tu" 'gnus-uu-unmark-thread ;; was T M-#
- "TT" 'gnus-summary-toggle-threads
- "Ts" 'gnus-summary-show-thread
- "Th" 'gnus-summary-hide-thread
- ;; show/hide can be mapped to zo/zc
- "zo" 'gnus-summary-show-thread
- "zc" 'gnus-summary-hide-thread
- "TS" 'gnus-summary-show-all-threads
- "TH" 'gnus-summary-hide-all-threads
- "Tt" 'gnus-summary-rethread-current
- "T^" 'gnus-summary-reparent-thread
- (kbd "T M-^") 'gnus-summary-reparent-children
- "Tn" 'gnus-summary-next-thread
- "Tp" 'gnus-summary-prev-thread
- "Td" 'gnus-summary-down-thread ;; descend
- "Ta" 'gnus-summary-up-thread ;; was T u, ascend also makes sense
- "To" 'gnus-summary-top-thread
-
- ;; Saving
- "Oo" 'gnus-summary-save-article
- "Om" 'gnus-summary-save-article-mail
- "Or" 'gnus-summary-save-article-rmail
- "Of" 'gnus-summary-save-article-file
- "OF" 'gnus-summary-write-article-file
- "Ob" 'gnus-summary-save-article-body-file
- "Oh" 'gnus-summary-save-article-folder
- "Ov" 'gnus-summary-save-article-vm
- "Op" 'gnus-summary-pipe-output
- "|" 'gnus-summary-pipe-output
- "OP" 'gnus-summary-muttprint
-
- ;; Decoding with marked articles
- "Xu" 'gnus-uu-decode-uu
- "XU" 'gnus-uu-decode-uu-and-save
- "Xvu" 'gnus-uu-decode-uu-view
- "XvU" 'gnus-uu-decode-uu-and-save-view
- ;; Shell archives
- "Xs" 'gnus-uu-decode-unshar
- "XS" 'gnus-uu-decode-unshar-and-save
- "Xvs" 'gnus-uu-decode-unshar-view
- "XvS" 'gnus-uu-decode-unshar-and-save-view
- ;; PostScript files
- "Xp" 'gnus-uu-decode-postscript
- "XP" 'gnus-uu-decode-postscript-and-save
- "Xvp" 'gnus-uu-decode-postscript-view
- "XvP" 'gnus-uu-decode-postscript-and-save-view
- ;; Other files
- "Xo" 'gnus-uu-decode-save
- "Xb" 'gnus-uu-decode-binhex
- "XY" 'gnus-uu-decode-yenc
-
- ;; Mail group commands
- "Be" 'gnus-summary-expire-articles
- "BE" 'gnus-summary-expire-articles-now ;; was B C-M-e
- "Bd" 'gnus-summary-delete-article ;; was B DEL
- "Bm" 'gnus-summary-move-article
- "Bc" 'gnus-summary-copy-article
- "Bb" 'gnus-summary-crosspost-article ;; was B B
- "Bi" 'gnus-summary-import-article
- "BI" 'gnus-summary-create-article
- "Br" 'gnus-summary-respool-article
- "Bw" 'gnus-summary-edit-article
- "Bq" 'gnus-summary-respool-query
- "Bt" 'gnus-summary-respool-trace
- "Bp" 'gnus-summary-article-posted-p
-
- ;; Searching
- (kbd "M-s") 'gnus-summary-search-article-forward
- (kbd "M-r") 'gnus-summary-search-article-backward
- (kbd "M-S") 'gnus-summary-repeat-search-article-forward
- (kbd "M-R") 'gnus-summary-repeat-search-article-backward
- "&" 'gnus-summary-execute-command
- (kbd "M-&") 'gnus-summary-universal-argument
-
- [mouse-2] 'gnus-mouse-pick-article
- [follow-link] 'mouse-face
-
- ;; Rest of the bindings "as is".
- "*" 'gnus-cache-enter-article
- (kbd "M-*") 'gnus-cache-remove-article
- (kbd "M-i") 'gnus-symbolic-argument
- "I" 'gnus-summary-increase-score
- "L" 'gnus-summary-lower-score)
-
- (evil-collection-define-key 'motion 'gnus-article-mode-map
- "F" 'gnus-article-followup-with-original
- "R" 'gnus-article-reply-with-original
- "W" 'gnus-article-wide-reply-with-original)
- (evil-collection-define-key 'normal 'gnus-article-mode-map
- ;; quit
- "Q" 'evil-window-delete
- "ZQ" 'evil-window-delete
- "q" 'evil-window-delete
- "ZZ" 'evil-window-delete
-
- ;; Movement
- (kbd "TAB") 'forward-button
- (kbd "<backtab>") 'backward-button
- (kbd "SPC") 'gnus-article-goto-next-page
- (kbd "DEL") 'gnus-article-goto-prev-page
- (kbd "S-SPC") 'gnus-article-goto-prev-page
-
- ;; Reply
- "r" 'gnus-summary-reply
- "R" 'gnus-article-reply-with-original ;; override `evil-replace-state'
-
- ;; Composing
- "C" 'gnus-article-mail
- "cc" 'gnus-article-mail
- "cr" 'gnus-summary-reply
- "cR" 'gnus-summary-reply-with-original
- "cf" 'gnus-summary-followup
- "cF" 'gnus-summary-followup-with-original
- "cw" 'gnus-summary-very-wide-reply
- "cW" 'gnus-article-wide-reply-with-original
- (kbd "C-c C-f") 'gnus-summary-mail-forward
-
- ;; Washing
- ;;
- ;; List of unbound commands:
- ;; - `gnus-article-remove-cr'
- ;; - `gnus-article-de-quoted-unreadable'
- ;; - `gnus-article-unsplit-urls'
- ;; - `gnus-article-wash-html'
- ;; - `gnus-article-strip-leading-blank-lines'
- ;; - `gnus-article-strip-multiple-blank-lines'
- ;; - `gnus-article-remove-trailing-blank-lines'
- ;; - `gnus-article-strip-blank-lines'
- ;; - `gnus-article-strip-all-blank-lines'
- ;; - `gnus-article-strip-leading-space'
- ;; - `gnus-article-strip-trailing-space'
- "zwl" 'gnus-summary-stop-page-breaking
- "zwr" 'gnus-summary-caesar-message
- "zwm" 'gnus-summary-morse-message
- "zwi" 'gnus-summary-idna-message
- "zwt" 'gnus-summary-toggle-header
- "zwv" 'gnus-summary-verbose-headers
- "zwo" 'gnus-article-treat-overstrike
- "zwd" 'gnus-article-treat-smartquotes
- "zwu" 'gnus-article-treat-non-ascii ;; was W U
- "zwyf" 'gnus-article-outlook-deuglify-article
- "zwyu" 'gnus-article-outlook-unwrap-lines
- "zwya" 'gnus-article-outlook-repair-attribution
- "zwyc" 'gnus-article-outlook-rearrange-citation
- "zww" 'gnus-article-fill-cited-article
- "zwq" 'gnus-article-fill-long-lines ;; was W Q
- "zwc" 'gnus-article-capitalize-sentences ;; was W C
- "zw6" 'gnus-article-de-base64-unreadable
- "zwz" 'gnus-article-decode-HZ ;; was W Z
- "zwa" 'gnus-article-treat-ansi-sequences ;; was W A
- "zwb" 'gnus-article-add-buttons
- "zwB" 'gnus-article-add-buttons-to-head
- "zwp" 'gnus-article-verify-x-pgp-sig
- "zws" 'gnus-summary-force-verify-and-decrypt
-
- ;; Actions
- (kbd "C-]") 'gnus-article-refer-article
- "s" 'gnus-article-show-summary
- "gr" 'gnus-summary-show-article
- "gX" 'gnus-summary-browse-url)
-
- (evil-collection-define-key 'normal 'gnus-group-mode-map
- ;; quit
- "Q" 'gnus-group-quit
- "ZQ" 'gnus-group-quit
- "q" 'gnus-group-exit
- "ZZ" 'gnus-group-exit
-
- ;; Movement
- "[[" 'gnus-group-prev-unread-group
- "]]" 'gnus-group-next-unread-group
- "gk" 'gnus-group-prev-unread-group
- "gj" 'gnus-group-next-unread-group
- (kbd "C-j") 'gnus-group-next-group
- (kbd "C-k") 'gnus-group-prev-group
-
- ;; Composing, like mu4e
- "C" 'gnus-group-mail
- "cc" 'gnus-group-mail
- "ci" 'gnus-group-news
-
- ;; Actions
- "." 'gnus-group-first-unread-group
- "," 'gnus-group-best-unread-group
- "A" 'gnus-activate-all-groups
- "B" 'gnus-group-browse-foreign-server
- "E" 'gnus-group-edit-group
- "F" 'gnus-group-find-new-groups
- "J" 'gnus-group-jump-to-group
- "R" 'gnus-group-rename-group
- "X" 'gnus-group-expunge-group
- (kbd "RET") 'gnus-group-select-group
- (kbd "SPC") 'gnus-group-read-group
- "gr" 'gnus-group-get-new-news-this-group
- "gR" 'gnus-group-get-new-news
- "gu" 'gnus-group-unsubscribe-current-group
- "gU" 'gnus-group-unsubscribe-group
- "gc" 'gnus-group-catchup-current
- "gC" 'gnus-group-catchup-current-all
- "ge" 'gnus-group-expire-articles
- "gE" 'gnus-group-expire-all-groups
- "gl" 'gnus-group-set-current-level
-
- ;; Deleting & Pasting
- "dd" 'gnus-group-kill-group
- "D" 'gnus-group-kill-group
- "p" 'gnus-group-yank-group
- "P" 'gnus-group-yank-group
-
- ;; Marking
- "m" 'gnus-group-mark-group
- "u" 'gnus-group-unmark-group
- "U" 'gnus-group-unmark-all-groups
- "M" 'gnus-group-mark-buffer
- "*" 'gnus-group-mark-buffer
- "%" 'gnus-group-mark-regexp
-
- ;; Searching
- "s" 'gnus-group-apropos
- "S" 'gnus-group-description-apropos
- (kbd "M-s") 'gnus-group-read-ephemeral-search-group
-
- ;; Sorting
- "oa" 'gnus-group-sort-groups-by-alphabet
- "ol" 'gnus-group-sort-groups-by-level
- "om" 'gnus-group-sort-groups-by-method
- "on" 'gnus-group-sort-groups-by-real-name
- "or" 'gnus-group-sort-groups-by-rank
- "os" 'gnus-group-sort-groups
- "ou" 'gnus-group-sort-groups-by-unread
- "ov" 'gnus-group-sort-groups-by-score
-
- ;; Listing
- "L!" 'gnus-group-list-ticked
- "L/" 'gnus-group-list-limit-map
- "L?" 'gnus-group-list-dormant
- "La" 'gnus-group-list-active ;; was A A
- "Lc" 'gnus-group-list-cached
- "Lf" 'gnus-group-list-flush-map
- "Lk" 'gnus-group-list-killed
- "Ll" 'gnus-group-list-level
- "Lm" 'gnus-group-list-matching
- "LM" 'gnus-group-list-all-matching
- "Lp" 'gnus-group-list-plus-map
- "Ls" 'gnus-group-list-groups
- "Lu" 'gnus-group-list-all-groups
- "Lz" 'gnus-group-list-zombies
-
- ;; Topic commands
- ;; `gnus-topic-move-group' can be done through dd then p
- "Tn" 'gnus-topic-create-topic
- "Tj" 'gnus-topic-jump-to-topic
- "Tr" 'gnus-topic-rename
- "Td" 'gnus-topic-delete
- "zc" 'gnus-topic-hide-topic
- "zo" 'gnus-topic-show-topic
-
- ;; Topic sorting
- "Toa" 'gnus-topic-sort-groups-by-alphabet
- "Tou" 'gnus-topic-sort-groups-by-unread
- "Tol" 'gnus-topic-sort-groups-by-level
- "Tov" 'gnus-topic-sort-groups-by-score
- "Tor" 'gnus-topic-sort-groups-by-rank
- "Tom" 'gnus-topic-sort-groups-by-method
- "Toe" 'gnus-group-sort-groups-by-server
- "Tos" 'gnus-group-sort-groups
-
- "^" 'gnus-group-enter-server-mode
-
- (kbd "DEL") 'gnus-group-prev-unread-group
- [mouse-2] 'gnus-mouse-pick-group
- "g?" 'gnus-group-help-map)
-
- (evil-collection-define-key 'normal 'gnus-server-mode-map
- ;; quit
- "Q" 'gnus-server-exit
- "ZQ" 'gnus-server-exit
- "q" 'gnus-server-exit
- "ZZ" 'gnus-server-exit
-
- (kbd "RET") 'gnus-server-read-server
- (kbd "SPC") 'gnus-server-read-server-in-server-buffer
- "C" 'gnus-server-close-server
- "D" 'gnus-server-deny-server
- "G" 'gnus-group-make-nnir-group
- "I" 'gnus-server-set-cloud-method-server
- "L" 'gnus-server-offline-server
- "O" 'gnus-server-open-server
- "R" 'gnus-server-remove-denials
- "S" 'gnus-server-show-server
- "a" 'gnus-server-add-server
- "y" 'gnus-server-copy-server
- "e" 'gnus-server-edit-server
- "gr" 'gnus-server-regenerate-server
- "i" 'gnus-server-toggle-cloud-server
- "d" 'gnus-server-kill-server
- "L" 'gnus-server-list-servers
- "s" 'gnus-server-scan-server
- "p" 'gnus-server-yank-server
- "c" 'gnus-server-compact-server
- "M-c" 'gnus-server-close-all-servers
- "M-o" 'gnus-server-open-all-servers)
-
- (evil-collection-define-key 'normal 'gnus-browse-mode-map
- ;; quit
- "Q" 'gnus-browse-exit
- "ZQ" 'gnus-browse-exit
- "q" 'gnus-browse-exit
- "ZZ" 'gnus-browse-exit
-
- "u" 'gnus-browse-unsubscribe-current-group
- (kbd "SPC") 'gnus-browse-read-group
- (kbd "RET") 'gnus-browse-select-group)
-
- (evil-collection-define-key 'normal 'gnus-bookmark-bmenu-mode-map
- ;; quit
- "Q" 'quit-window
- "ZQ" 'quit-window
- "q" 'quit-window
- "ZZ" 'quit-window
-
- ;; mark and execution
- "m" 'gnus-bookmark-bmenu-mark
- "u" 'gnus-bookmark-bmenu-unmark
- (kbd "DEL") 'gnus-bookmark-bmenu-backup-unmark
- "d" 'gnus-bookmark-bmenu-delete
- "x" 'gnus-bookmark-bmenu-execute-deletions
-
- (kbd "RET") 'gnus-bookmark-bmenu-select
- [mouse-2] 'gnus-bookmark-bmenu-select-by-mouse
- "L" 'gnus-bookmark-bmenu-load
- "s" 'gnus-bookmark-bmenu-save
- "t" 'gnus-bookmark-bmenu-toggle-infos
- "a" 'gnus-bookmark-bmenu-show-details
- ;; not implemented yet
- "A" 'gnus-bookmark-bmenu-show-all-annotations
- "E" 'gnus-bookmark-bmenu-edit-annotation
- "R" 'gnus-bookmark-bmenu-rename))
-
-(provide 'evil-collection-gnus)
-;;; evil-collection-gnus.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/go-mode/README.org b/.config/emacs/lisp/evil-collection/modes/go-mode/README.org
deleted file mode 100644
index 2b102d6..0000000
--- a/.config/emacs/lisp/evil-collection/modes/go-mode/README.org
+++ /dev/null
@@ -1,19 +0,0 @@
-* go-mode
-
- Evil bindings for [[https://github.com/dominikh/go-mode.el][go-mode]] and =godoc-mode=.
-
-** Key bindings
-
-*** go-mode-map
-
- | Command | Original | Evil |
- |------------------+-----------+------|
- | =godef-jump= | =C-c C-j= | =gd= |
- | =godef-describe= | =C-c C-d= | =K= |
-
-*** godoc-mode-map
-
- | Command | Original | Evil |
- |-----------------+----------+------|
- | =quit-window= | =q= | =q= |
- | =describe-mode= | =h m= | =g?= |
diff --git a/.config/emacs/lisp/evil-collection/modes/go-mode/evil-collection-go-mode.el b/.config/emacs/lisp/evil-collection/modes/go-mode/evil-collection-go-mode.el
deleted file mode 100644
index b423f7b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/go-mode/evil-collection-go-mode.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; evil-collection-go-mode.el --- Bindings for `go-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, golang
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `go-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'go-mode nil t)
-
-(defconst evil-collection-go-mode-maps '(go-mode-map
- godoc-mode-map))
-
-;;;###autoload
-(defun evil-collection-go-mode-setup ()
- "Set up `evil' bindings for `go-mode'."
- (evil-collection-define-key 'normal 'go-mode-map
- "gd" 'godef-jump
- "K" 'godef-describe)
- (evil-collection-define-key 'normal 'godoc-mode-map
- "q" 'quit-window
- "g?" 'describe-mode))
-
-(provide 'evil-collection-go-mode)
-;;; evil-collection-go-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/gptel/README.org b/.config/emacs/lisp/evil-collection/modes/gptel/README.org
deleted file mode 100644
index 903e622..0000000
--- a/.config/emacs/lisp/evil-collection/modes/gptel/README.org
+++ /dev/null
@@ -1,47 +0,0 @@
-* gptel
-
- Evil bindings for [[https://github.com/karthink/gptel][gptel]].
-
- =RET= submission follows =evil-collection-repl-submit-state=: in the submit
- state, =RET= sends; in the other state (insert when submit is normal, normal
- when submit is insert), =RET= inserts a newline. =S-RET= behavior is
- controlled by two customs.
-
-** Key bindings
-
-*** gptel-mode-map
-
- Upstream only binds =C-c RET= to =gptel-send=; =RET= itself is unchanged
- on the buffer's major mode. Evil-collection layers state-aware =RET= /
- =S-RET= behavior on top.
-
- | Command | Original | Evil |
- |--------------+-----------+------------------------------------------------------------------|
- | =gptel-send= | =C-c RET= | =C-c RET= |
- | =gptel-send= | n/a | =RET=, =<return>= in submit state |
- | =newline= | n/a | =S-RET=, =S-<return>= in submit state; all four in newline state |
- | =gptel-menu= | n/a | =S-RET=, =<S-return>= in normal / visual (default) |
- | =gptel-send= | =C-c RET= | =S-RET=, =<S-return>= in normal / visual (when menu custom nil) |
-
-*** gptel-context-buffer-mode-map (normal state)
-
- | Command | Original | Evil |
- |-------------------------------+-----------+-----------|
- | =gptel-context-next= | =n= | =j= |
- | =gptel-context-previous= | =p= | =k= |
- | =gptel-context-flag-deletion= | =d= | =d= |
- | =gptel-context-quit= | =C-c C-k= | =q=, =ZQ= |
- | =gptel-context-confirm= | =C-c C-c= | =ZZ= |
- | =gptel-context-visit= | =RET= | =RET= |
-
-** Customization
-
- | Variable | Default | Purpose |
- |------------------------------------------------+---------+-----------------------------------------------------------------------------|
- | =evil-collection-gptel-want-shift-ret-to-send= | =t= | Bind =S-RET= in normal / visual to =gptel-send=. |
- | =evil-collection-gptel-want-shift-ret-menu= | =t= | Bind =S-RET= in normal / visual to =gptel-menu=. Wins over the send custom. |
-
-** Integrations
-
- =gptel-context=: bindings for the context buffer (above) are wired via
- =with-eval-after-load 'gptel-context=.
diff --git a/.config/emacs/lisp/evil-collection/modes/gptel/evil-collection-gptel.el b/.config/emacs/lisp/evil-collection/modes/gptel/evil-collection-gptel.el
deleted file mode 100644
index 6be9535..0000000
--- a/.config/emacs/lisp/evil-collection/modes/gptel/evil-collection-gptel.el
+++ /dev/null
@@ -1,82 +0,0 @@
-;;; evil-collection-gptel.el --- Bindings for gptel -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>, Zhiwei Chen <condy0919@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for gptel.
-
-;;; Code:
-(require 'evil-collection)
-(require 'gptel nil t)
-
-
-(defconst evil-collection-gptel-maps
- '(gptel-mode-map gptel-context-buffer-mode-map))
-
-(defcustom evil-collection-gptel-want-shift-ret-to-send t
- "When non nil, S-RET sends query to LLM."
- :group 'evil-collection
- :type 'boolean)
-
-(defcustom evil-collection-gptel-want-shift-ret-menu t
- "When non nil, S-RET opens calls `gptel-menu'. This takes priority over
- `evil-collection-gptel-want-shift-ret-to-send'."
- :group 'evil-collection
- :type 'boolean)
-
-;;;###autoload
-(defun evil-collection-gptel-setup ()
- "Set up `evil' bindings for gptel."
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'gptel-mode-map
- (kbd "RET") 'gptel-send
- (kbd "<return>") 'gptel-send
- (kbd "S-RET") 'newline
- (kbd "S-<return>") 'newline)
- (evil-collection-define-key newline-state 'gptel-mode-map
- (kbd "RET") 'newline
- (kbd "<return>") 'newline
- (kbd "S-RET") 'newline
- (kbd "S-<return>") 'newline))
- (if evil-collection-gptel-want-shift-ret-menu
- (evil-collection-define-key '(normal visual) 'gptel-mode-map
- (kbd "S-RET") 'gptel-menu
- (kbd "<S-return>") 'gptel-menu)
- (when evil-collection-gptel-want-shift-ret-to-send
- (evil-collection-define-key '(normal visual) 'gptel-mode-map
- (kbd "S-RET") 'gptel-send
- (kbd "<S-return>") 'gptel-send)))
-
- (with-eval-after-load 'gptel-context
- (evil-collection-define-key 'normal 'gptel-context-buffer-mode-map
- "j" 'gptel-context-next
- "k" 'gptel-context-previous
- "d" 'gptel-context-flag-deletion
- "q" 'gptel-context-quit
- "ZQ" 'gptel-context-quit
- "ZZ" 'gptel-context-confirm
- (kbd "RET") 'gptel-context-visit)))
-
-(provide 'evil-collection-gptel)
-;;; evil-collection-gptel.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/grep/README.org b/.config/emacs/lisp/evil-collection/modes/grep/README.org
deleted file mode 100644
index cc8cc0c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/grep/README.org
+++ /dev/null
@@ -1,15 +0,0 @@
-* grep
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Grep-Searching.html][grep]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------------+----------+-------|
- | =evil-search-next= | n/a | =n= |
- | =next-error-no-select= | =n= | =C-j= |
- | =previous-error-no-select= | =p= | =C-k= |
-
-** Integrations
-
- - wgrep: =i= → =wgrep-change-to-wgrep-mode= when =wgrep= is available.
diff --git a/.config/emacs/lisp/evil-collection/modes/grep/evil-collection-grep.el b/.config/emacs/lisp/evil-collection/modes/grep/evil-collection-grep.el
deleted file mode 100644
index bfd3eff..0000000
--- a/.config/emacs/lisp/evil-collection/modes/grep/evil-collection-grep.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-grep.el --- Bindings for `grep' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: Fredrik Bergroth <fbergroth@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `grep'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'grep)
-
-(defconst evil-collection-grep-maps '(grep-mode-map))
-
-;;;###autoload
-(defun evil-collection-grep-setup ()
- "Set up `evil' bindings for `grep'."
- (evil-collection-define-key 'normal 'grep-mode-map
- "n" 'evil-search-next
- "\C-j" 'next-error-no-select
- "\C-k" 'previous-error-no-select)
-
- ;; `wgrep' integration
- (when (fboundp 'wgrep-setup)
- (evil-collection-define-key 'normal 'grep-mode-map
- "i" 'wgrep-change-to-wgrep-mode)))
-
-(provide 'evil-collection-grep)
-;;; evil-collection-grep.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/guix/evil-collection-guix.el b/.config/emacs/lisp/evil-collection/modes/guix/evil-collection-guix.el
deleted file mode 100644
index a18b2ac..0000000
--- a/.config/emacs/lisp/evil-collection/modes/guix/evil-collection-guix.el
+++ /dev/null
@@ -1,217 +0,0 @@
-;;; evil-collection-guix.el --- Evil bindings for Guix -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, guix, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `guix'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'guix nil t)
-
-(defconst evil-collection-guix-maps '(guix-output-list-mode-map
- guix-package-info-mode-map
- guix-profile-list-mode-map
- guix-profile-info-mode-map
- guix-generation-list-mode-map
- guix-generation-info-mode-map
- guix-license-list-mode-map
- guix-license-info-mode-map
- guix-location-list-mode-map
- guix-hydra-build-list-mode-map
- guix-hydra-build-info-mode-map
- guix-build-log-mode-map
- guix-service-list-mode-map))
-
-(defmacro evil-collection-guix-set (map)
- "Set common bindings in MAP."
- `(progn
- (evil-collection-set-readonly-bindings ',map)
- (evil-collection-define-key 'normal ',map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
-
- "gm" 'guix-apply-manifest
-
- ;; sort
- "o" 'bui-list-sort
-
- ;; filter
- "ss" 'bui-enable-filter
- "sd" 'bui-disable-filter
-
- ;; mark
- "m" 'bui-list-mark
- "M" 'bui-list-mark-all
- "u" 'bui-list-unmark
- "U" 'bui-list-unmark-all
-
- (kbd "C-o") 'bui-history-back
- (kbd "C-i") 'bui-history-forward
-
- "g?" 'bui-show-hint
- "gr" 'revert-buffer
- "gR" 'bui-redisplay
-
- ;; repl
- "gz" 'guix-switch-to-repl)))
-
-;;;###autoload
-(defun evil-collection-guix-setup ()
- "Set up `evil' bindings for `guix'."
- (evil-collection-guix-set guix-ui-map) ; Covers output-list and generation-list.
-
- (evil-collection-define-key 'normal 'guix-output-list-mode-map
- (kbd "RET") 'bui-list-describe
-
- "gb" 'guix-package-list-latest-builds
- "gG" 'guix-output-list-graph
- "gl" 'guix-output-list-lint
- "gs" 'guix-package-list-size
-
- "a" 'guix-output-list-mark-upgrade
- "A" 'guix-output-list-mark-upgrades
- "d" 'guix-output-list-mark-delete
- "gd" 'guix-output-list-edit
- "i" 'guix-output-list-mark-install
-
- ;; mark
- "x" 'guix-output-list-execute)
-
- (evil-collection-guix-set guix-package-info-mode-map)
- (evil-collection-define-key 'normal 'guix-package-info-mode-map
- "gG" 'guix-package-info-graph
- "gl" 'guix-package-info-lint
- "gs" 'guix-package-info-size
-
- "a" 'guix-package-info-upgrade
- "d" 'guix-package-info-delete
- "gd" 'guix-package-info-edit
- "i" 'guix-package-info-install)
-
- (evil-collection-guix-set guix-profile-list-mode-map)
- (evil-collection-define-key 'normal 'guix-profile-list-mode-map
- (kbd "RET") 'bui-list-describe
-
- "c" 'guix-profile-list-set-current ; TODO: Bind to "." as per the rationale?
- "p" 'guix-profile-list-show-packages
- "a" 'guix-profile-list-show-generations
- "P" 'guix-profile-list-show-search-paths)
-
- (evil-collection-guix-set guix-profile-info-mode-map)
- (evil-collection-define-key 'normal 'guix-profile-info-mode-map
- "gm" 'guix-profile-info-apply-manifest
-
- "p" 'guix-profile-info-show-packages
- "a" 'guix-profile-info-show-generations
- "P" 'guix-profile-info-show-search-paths
- "c" 'guix-profile-info-set-current)
-
- (evil-collection-define-key 'normal 'guix-generation-list-mode-map
- (kbd "RET") 'bui-list-describe
-
- "p" 'guix-generation-list-show-packages
- "D" 'guix-generation-list-mark-delete
- "P" 'guix-generation-list-show-search-paths
- "c" 'guix-generation-list-set-current
- "d" 'guix-generation-list-ediff
-
- "+" 'guix-generation-list-show-added-packages
- "-" 'guix-generation-list-show-removed-packages
- "=" 'guix-generation-list-diff
-
- ;; mark
- "x" 'guix-generation-list-execute)
-
- (evil-collection-guix-set guix-license-list-mode-map)
- (evil-collection-define-key 'normal 'guix-license-list-mode-map
- (kbd "<tab>") 'forward-button ; Why isn't this binding inhibited?
- (kbd "RET") 'bui-list-describe
-
- "p" 'guix-license-list-show-packages
- "gd" 'guix-license-list-edit)
-
- (evil-collection-guix-set guix-license-info-mode-map)
-
- (evil-collection-guix-set guix-location-list-mode-map)
- (evil-collection-define-key 'normal 'guix-location-list-mode-map
- (kbd "RET") 'guix-location-list-show-packages ; In Emacs state, it seems to be overriden by `push-button'.
-
- "p" 'guix-location-list-show-packages
- "gd" 'guix-location-list-edit)
-
- (evil-collection-guix-set guix-store-item-list-mode-map)
- (evil-collection-define-key 'normal 'guix-store-item-list-mode-map
- (kbd "RET") 'bui-list-describe
- "d" 'guix-store-item-list-mark-delete
- "gd" 'guix-store-item-list-edit
- "x" 'guix-store-item-list-execute)
-
- (evil-collection-guix-set guix-store-item-info-mode-map)
-
- (evil-collection-guix-set guix-hydra-build-list-mode-map)
- (evil-collection-define-key 'normal 'guix-hydra-build-list-mode-map
- (kbd "RET") 'bui-list-describe
-
- "gb" 'guix-hydra-build-list-latest-builds
- "gl" 'guix-hydra-build-list-view-log)
-
- (evil-collection-guix-set guix-hydra-build-info-mode-map)
-
- (evil-collection-set-readonly-bindings 'guix-build-log-mode-map)
- (evil-collection-define-key 'normal 'guix-build-log-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'guix-build-log-phase-toggle
- (kbd "<backtab>") 'guix-build-log-phase-toggle-all
-
- "gk" 'guix-build-log-previous-phase
- "gj" 'guix-build-log-next-phase
- "[[" 'guix-build-log-previous-phase
- "]]" 'guix-build-log-next-phase
- (kbd "C-k") 'guix-build-log-previous-phase
- (kbd "C-j") 'guix-build-log-next-phase
-
- "gr" 'revert-buffer
-
- ;; repl
- "gz" 'guix-switch-to-repl)
-
- (evil-collection-guix-set guix-service-list-mode-map)
- (evil-collection-define-key 'normal 'guix-service-list-mode-map
- (kbd "<tab>") 'forward-button
- (kbd "RET") 'bui-list-describe
-
- "gd" 'guix-service-list-edit)
-
- (evil-collection-define-key 'normal 'guix-devel-mode-map
- ;; repl
- "gz" 'guix-switch-to-repl))
-
-(provide 'evil-collection-guix)
-;;; evil-collection-guix.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/hackernews/evil-collection-hackernews.el b/.config/emacs/lisp/evil-collection/modes/hackernews/evil-collection-hackernews.el
deleted file mode 100644
index 2be994b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/hackernews/evil-collection-hackernews.el
+++ /dev/null
@@ -1,63 +0,0 @@
-;;; evil-collection-hackernews.el --- Evil bindings for hackernews-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, news, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for hackernews.
-
-;;; Code:
-(require 'evil-collection)
-(require 'hackernews nil t)
-
-(defconst evil-collection-hackernews-maps '(hackernews-mode-map
- hackernews-button-map))
-
-;;;###autoload
-(defun evil-collection-hackernews-setup ()
- "Set up `evil' bindings for `hackernews-mode'."
- (evil-collection-set-readonly-bindings 'hackernews-mode-map)
- (evil-collection-define-key 'normal 'hackernews-mode-map
- "]]" 'hackernews-next-item
- "[[" 'hackernews-previous-item
- "gj" 'hackernews-next-item
- "gk" 'hackernews-previous-item
- (kbd "C-j") 'hackernews-next-item
- (kbd "C-k") 'hackernews-previous-item
-
- "+" 'hackernews-load-more-stories
-
- "gr" 'hackernews-reload
- "gf" 'hackernews-switch-feed
-
- (kbd "<tab>") 'hackernews-next-comment
- (kbd "S-<tab>") 'hackernews-previous-comment
-
- "!" 'hackernews-button-mark-as-visited ; like mu4e
- "?" 'hackernews-button-mark-as-unvisited
-
- (kbd "RET") 'hackernews-button-browse-internal
- (kbd "S-<return>") 'push-button))
-
-(provide 'evil-collection-hackernews)
-;;; evil-collection-hackernews.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/helm/README.org b/.config/emacs/lisp/evil-collection/modes/helm/README.org
deleted file mode 100644
index 95a3946..0000000
--- a/.config/emacs/lisp/evil-collection/modes/helm/README.org
+++ /dev/null
@@ -1,107 +0,0 @@
-* helm
-
- Evil bindings for [[https://emacs-helm.github.io/helm/][helm]].
-
- =M-= modifiers are preferred over =C-= so the help prefix (=C-h=) is left
- alone. =h= and =l= are reserved for minibuffer editing in =helm-find-files=
- and =helm-read-file-map=.
-
-** Key bindings
-
-*** helm-map (insert and normal state unless noted)
-
- | Command | Original | Evil |
- |----------------------------------+----------+--------------|
- | =helm-previous-source= | =C-o= | =M-[= |
- | =helm-next-source= | =C-o= | =M-]=, =C-o= |
- | =helm-execute-persistent-action= | =C-j= | =M-l= |
- | =helm-next-line= | =C-n= | =M-j=, =C-n= |
- | =helm-previous-line= | =C-p= | =M-k=, =C-p= |
- | =helm-next-page= | =C-v= | =C-f=, =C-v= |
- | =helm-previous-page= | =M-v= | =C-b=, =M-v= |
- | =helm-maybe-exit-minibuffer= | =RET= | =RET= |
-
-*** helm-map (normal state only)
-
- | Command | Original | Evil |
- |--------------------------------+-----------+-------------------------------------|
- | =helm-select-action= | =TAB= | =<tab>= |
- | =helm-previous-source= | =C-o= | =[[=, =gk= |
- | =helm-next-source= | =C-o= | =]]=, =gj= |
- | =helm-prev-visible-mark= | =M-(= | =(= |
- | =helm-next-visible-mark= | =M-)= | =)= |
- | =helm-next-line= | =C-n= | =j= |
- | =helm-previous-line= | =C-p= | =k= |
- | =helm-beginning-of-buffer= | =M-<= | =gg= |
- | =helm-end-of-buffer= | =M->= | =G= |
- | =helm-quit-and-find-file= | =C-x C-f= | =/= |
- | =helm-refresh= | =C-c C-u= | =gr= |
- | =helm-yank-selection= | =C-c C-y= | =yp= |
- | =helm-copy-to-buffer= | n/a | =yP= |
- | =helm-kill-selection-and-quit= | =C-c C-k= | =yy= |
- | =helm-toggle-visible-mark= | =C-SPC= | =SPC= |
- | =helm-previous-page= | =M-v= | =C-u= (when =evil-want-C-u-scroll=) |
- | =helm-next-page= | =C-v= | =C-d= (when =evil-want-C-d-scroll=) |
-
-*** helm-find-files-map / helm-read-file-map
-
- | Command | State | Original | Evil |
- |-----------------------------------+----------------+----------+--------------|
- | =helm-ff-run-switch-other-window= | normal | =C-c o= | =go= |
- | =helm-ff-run-switch-other-window= | insert, normal | =C-c o= | =S-<return>= |
- | =helm-ff-run-find-sh-command= | normal | =C-c /= | =/= |
- | =helm-find-files-up-one-level= | insert, normal | =C-l= | =M-h= |
-
-*** helm-find-files-map (normal state)
-
- | Command | Original | Evil |
- |------------------------------------+----------+------|
- | =helm-ff-run-ediff-file= | =C-c = | === |
- | =helm-ff-run-query-replace-regexp= | =M-%= | =%= |
- | =helm-ff-run-delete-file= | =M-D= | =D= |
-
-*** helm-generic-files-map
-
- | Command | State | Original | Evil |
- |-----------------------------------+----------------+----------+--------------|
- | =helm-ff-run-switch-other-window= | insert, normal | =C-c o= | =S-<return>= |
- | =helm-ff-run-switch-other-window= | normal | =C-c o= | =go= |
-
-*** helm-buffer-map
-
- | Command | State | Original | Evil |
- |----------------------------------------+----------------+----------+--------------|
- | =helm-buffer-switch-other-window= | insert, normal | =C-c o= | =S-<return>= |
- | =display-buffer= | insert, normal | n/a | =M-<return>= |
- | =helm-buffer-switch-other-window= | normal | =C-c o= | =go= |
- | =display-buffer= | normal | n/a | =gO= |
- | =helm-buffer-run-ediff= | normal | =C-c = | === |
- | =helm-buffer-run-query-replace-regexp= | normal | =M-%= | =%= |
- | =helm-buffer-run-kill-persistent= | normal | =C-c d= | =D= |
-
-*** helm-occur-map / helm-grep-map
-
- | Command | State | Original | Evil |
- |---------------------------------------------------------------------+----------------+----------+--------------|
- | =helm-occur-run-goto-line-ow= / =helm-grep-run-other-window-action= | insert, normal | =C-c o= | =S-<return>= |
- | same as above | normal | =C-c o= | =go= |
-
-*** helm-occur-mode-map / helm-grep-mode-map (normal state)
-
- | Command | Original | Evil |
- |-----------------------------------------------------+----------+-------------|
- | =helm-occur-mode-goto-line= / =helm-grep-mode-jump= | =RET= | =RET= |
- | =...-goto-line-ow= / =...-jump-other-window= | =C-o= | =C-o=, =go= |
- | =...-forward= variant | =M-n= | =M-n=, =gj= |
- | =...-backward= variant | =M-p= | =M-p=, =gk= |
- | =helm-gm-next-file= | =M-N= | =M-N= |
- | =helm-gm-precedent-file= | =M-P= | =M-P= |
-
-** Notes
-
- - =helm-minibuffer-history-key= is set to =M-p= via =custom-set-variables=.
- - =helm-default-prompt-display-function= is set so the evil cursor renders
- correctly in helm's header line when =helm-echo-input-in-header-line= is
- non-nil.
- - =evil-collection-helm-hide-minibuffer-maybe= is added to
- =helm-minibuffer-set-up-hook= to hide the minibuffer cursor in that case.
diff --git a/.config/emacs/lisp/evil-collection/modes/helm/evil-collection-helm.el b/.config/emacs/lisp/evil-collection/modes/helm/evil-collection-helm.el
deleted file mode 100644
index 0e82ee8..0000000
--- a/.config/emacs/lisp/evil-collection/modes/helm/evil-collection-helm.el
+++ /dev/null
@@ -1,238 +0,0 @@
-;;; evil-collection-helm.el --- Evil bindings for Helm -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, helm, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Helm.
-
-;;; Code:
-(require 'evil-collection)
-(require 'helm-files nil t) ; TODO: Check if this is the ideal requirement and if we are not loading too much.
-
-;; To navigate Helm entries with <hjkl> in insert state, we need a modifier.
-;; Using the C- modifier would conflict with the help prefix "C-h". So we use
-;; M- prefixed bindings instead.
-
-;; Helm-find-files: We cannot use "h" and "l" in normal state to navigate up and
-;; down the file system hierarchy since we need them to use it to edit the
-;; minibuffer content.
-
-(defvar helm-map)
-(defvar helm-find-files-map)
-(defvar helm-generic-files-map)
-(defvar helm-buffer-map)
-(defvar helm-occur-map)
-(defvar helm-grep-map)
-(defvar helm-read-file-map)
-(defvar helm-occur-mode-map)
-(defvar helm-grep-mode-map)
-(defvar helm-echo-input-in-header-line)
-(defvar helm--prompt)
-(defvar helm--action-prompt)
-(defvar helm-header-line-space-before-prompt)
-(defvar helm-default-prompt-display-function)
-
-(declare-function helm-window "helm-lib")
-
-(defconst evil-collection-helm-maps '(help-map
- help-find-files-map
- helm-read-file-map
- helm-generic-files-map
- helm-buffer-map
- helm-occur-map
- helm-grep-map))
-
-;; From https://github.com/emacs-helm/helm/issues/362.
-;; Also see https://emacs.stackexchange.com/questions/17058/change-cursor-type-in-helm-header-line#17097.
-;; TODO: With Evil, the cursor type is not right in the header line and the evil
-;; cursor remains in the minibuffer. Visual selections also reveal overlayed
-;; text.
-(with-no-warnings
- (defun evil-collection-helm-hide-minibuffer-maybe ()
- "Hide text in minibuffer when `helm-echo-input-in-header-line' is non-nil."
- (when (with-current-buffer (helm-buffer-get) helm-echo-input-in-header-line)
- (let ((ov (make-overlay (point-min) (point-max) nil nil t)))
- (overlay-put ov 'window (selected-window))
- (overlay-put ov 'face (let ((bg-color (face-background 'default nil)))
- `(:background ,bg-color :foreground ,bg-color)))
- (setq-local cursor-type nil)))))
-
-(defun evil-collection-helm--set-prompt-display (pos)
- (let (beg state region-active m)
- (with-selected-window (minibuffer-window)
- (setq beg (save-excursion (vertical-motion 0 (helm-window)) (point))
- state evil-state
- region-active (region-active-p)
- m (mark t)))
- (when region-active
- (setq m (- m beg))
- ;; Increment pos to handle the space before prompt (i.e `pref').
- (put-text-property (1+ (min m pos)) (+ 2 (max m pos))
- 'face
- (list :background (face-background 'region))
- header-line-format))
- (put-text-property
- ;; Increment pos to handle the space before prompt (i.e `pref').
- (+ 1 pos) (+ 2 pos)
- 'face
- (if (eq state 'insert)
- 'underline
- ;; Don't just use 'cursor, this can hide the current character.
- (list :inverse-video t
- :foreground (face-background 'cursor)
- :background (face-background 'default)))
- header-line-format)))
-
-
-;;;###autoload
-(defun evil-collection-helm-setup ()
- "Set up `evil' bindings for `helm'."
- (add-hook 'helm-minibuffer-set-up-hook 'evil-collection-helm-hide-minibuffer-maybe)
- (setq helm-default-prompt-display-function 'evil-collection-helm--set-prompt-display)
- (custom-set-variables
- '(helm-minibuffer-history-key "M-p"))
-
- (evil-collection-define-key '(insert normal) 'helm-map
- (kbd "M-[") 'helm-previous-source
- (kbd "M-]") 'helm-next-source
- (kbd "M-l") 'helm-execute-persistent-action
- (kbd "M-j") 'helm-next-line
- (kbd "M-k") 'helm-previous-line
- (kbd "C-f") 'helm-next-page
- (kbd "C-b") 'helm-previous-page)
-
- (dolist (map '(helm-find-files-map helm-read-file-map))
- (evil-collection-define-key 'normal map
- "go" 'helm-ff-run-switch-other-window
- "/" 'helm-ff-run-find-sh-command)
- (evil-collection-define-key '(insert normal) map
- (kbd "S-<return>") 'helm-ff-run-switch-other-window
- (kbd "M-h") 'helm-find-files-up-one-level))
-
- ;; TODO: Change the Helm header to display "M-l" instead of "C-l". We don't
- ;; want to modify the Emacs Helm map.
-
- (evil-collection-define-key '(insert normal) 'helm-generic-files-map
- (kbd "S-<return>") 'helm-ff-run-switch-other-window)
-
- (evil-collection-define-key '(insert normal) 'helm-buffer-map
- (kbd "S-<return>") 'helm-buffer-switch-other-window
- (kbd "M-<return>") 'display-buffer)
-
- (evil-collection-define-key '(insert normal) 'helm-occur-map
- (kbd "S-<return>") 'helm-occur-run-goto-line-ow)
-
- (evil-collection-define-key '(insert normal) 'helm-grep-map
- (kbd "S-<return>") 'helm-grep-run-other-window-action)
-
- (evil-collection-define-key 'normal 'helm-generic-files-map
- "go" 'helm-ff-run-switch-other-window)
-
- (evil-collection-define-key 'normal 'helm-buffer-map
- "go" 'helm-buffer-switch-other-window
- "gO" 'display-buffer
- "=" 'helm-buffer-run-ediff
- "%" 'helm-buffer-run-query-replace-regexp
- "D" 'helm-buffer-run-kill-persistent ; Ivy has "D".
- )
-
- (evil-collection-define-key 'normal 'helm-occur-map
- "go" 'helm-occur-run-goto-line-ow)
-
- (evil-collection-define-key 'normal 'helm-grep-map
- "go" 'helm-grep-run-other-window-action)
-
- (evil-collection-define-key 'normal 'helm-find-files-map
- "=" 'helm-ff-run-ediff-file
- "%" 'helm-ff-run-query-replace-regexp
- "D" 'helm-ff-run-delete-file) ; Ivy has "D".
-
- ;; These helm bindings should always exist, the evil equivalents do
- ;; nothing useful in the minibuffer (error or pure failure).
- ;; RET can't do a second line in the minibuffer.
- ;; The C-n/C-p completions error with 'helm in helm' session.
- ;; C-o switches to evil state (again, not useful).
- (evil-collection-define-key '(insert normal) 'helm-map
- (kbd "RET") 'helm-maybe-exit-minibuffer
- (kbd "M-v") 'helm-previous-page
- (kbd "C-v") 'helm-next-page
- (kbd "C-p") 'helm-previous-line
- (kbd "C-n") 'helm-next-line
- (kbd "C-o") 'helm-next-source)
-
- (when evil-want-C-u-scroll
- (evil-collection-define-key 'normal 'helm-map
- (kbd "C-u") 'helm-previous-page))
-
- (when evil-want-C-d-scroll
- (evil-collection-define-key 'normal 'helm-map
- (kbd "C-d") 'helm-next-page))
-
- (evil-collection-define-key 'normal 'helm-map
- (kbd "<tab>") 'helm-select-action ; TODO: Ivy has "ga".
- (kbd "[[") 'helm-previous-source
- (kbd "]]") 'helm-next-source
- "gk" 'helm-previous-source
- "gj" 'helm-next-source
- (kbd "(") 'helm-prev-visible-mark
- (kbd ")") 'helm-next-visible-mark
- "j" 'helm-next-line
- "k" 'helm-previous-line
- "gg" 'helm-beginning-of-buffer
- "G" 'helm-end-of-buffer
-
- "/" 'helm-quit-and-find-file
-
- ;; refresh
- "gr" 'helm-refresh
-
- "yp" 'helm-yank-selection
- "yP" 'helm-copy-to-buffer
- "yy" 'helm-kill-selection-and-quit
- (kbd "SPC") 'helm-toggle-visible-mark)
-
- (evil-collection-define-key 'normal 'helm-occur-mode-map
- (kbd "RET") 'helm-occur-mode-goto-line
- (kbd "C-o") 'helm-occur-mode-goto-line-ow
- (kbd "M-n") 'helm-occur-mode-goto-line-ow-forward
- (kbd "M-p") 'helm-occur-mode-goto-line-ow-backward
- "go" 'helm-occur-mode-goto-line-ow
- "gj" 'helm-occur-mode-goto-line-ow-forward
- "gk" 'helm-occur-mode-goto-line-ow-backward
- (kbd "M-N") 'helm-gm-next-file
- (kbd "M-P") 'helm-gm-precedent-file)
-
- (evil-collection-define-key 'normal 'helm-grep-mode-map
- (kbd "RET") 'helm-grep-mode-jump
- (kbd "C-o") 'helm-grep-mode-jump-other-window
- (kbd "M-n") 'helm-grep-mode-jump-other-window-forward
- (kbd "M-p") 'helm-grep-mode-jump-other-window-backward
- "go" 'helm-grep-mode-jump-other-window
- "gj" 'helm-grep-mode-jump-other-window-forward
- "gk" 'helm-grep-mode-jump-other-window-backward
- (kbd "M-N") 'helm-gm-next-file
- (kbd "M-P") 'helm-gm-precedent-file))
-
-(provide 'evil-collection-helm)
-;;; evil-collection-helm.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/help/README.org b/.config/emacs/lisp/evil-collection/modes/help/README.org
deleted file mode 100644
index ab65337..0000000
--- a/.config/emacs/lisp/evil-collection/modes/help/README.org
+++ /dev/null
@@ -1,23 +0,0 @@
-* help
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Mode.html][help-mode]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |-----------------------+----------------+----------------------|
- | =scroll-up-command= | =SPC= | =SPC=, =C-f= |
- | =scroll-down-command= | =S-SPC=, =DEL= | =S-SPC=, =C-b= |
- | =forward-button= | =TAB= | =TAB=, =g TAB=, =g]= |
- | =backward-button= | =S-TAB= | =S-TAB=, =g[= |
- | =help-go-back= | =l= | =C-o=, =<= |
- | =help-go-forward= | =r= | =C-i=, =>= |
- | =push-button= | n/a | =go=, =gO= |
- | =describe-mode= | =h=, =?= | =g?= |
- | =revert-buffer= | =g= | =gr= |
- | =help-follow= | n/a | =r= |
- | =help-view-source= | =s= | =s= |
- | =help-goto-info= | =i= | =i= |
- | =help-customize= | =c= | =c= |
-
- The last three require Emacs 28+.
diff --git a/.config/emacs/lisp/evil-collection/modes/help/evil-collection-help.el b/.config/emacs/lisp/evil-collection/modes/help/evil-collection-help.el
deleted file mode 100644
index 6616bac..0000000
--- a/.config/emacs/lisp/evil-collection/modes/help/evil-collection-help.el
+++ /dev/null
@@ -1,80 +0,0 @@
-;;; evil-collection-help.el --- Evil bindings for help-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, help, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `help-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'help-mode)
-
-(defconst evil-collection-help-maps '(help-mode-map))
-
-;;;###autoload
-(defun evil-collection-help-setup ()
- "Set up `evil' bindings for `help'."
- (evil-set-initial-state 'help-mode 'normal)
- (evil-collection-set-readonly-bindings 'help-mode-map)
- (evil-collection-define-key 'normal 'help-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "C-f") 'scroll-up-command
- (kbd "C-b") 'scroll-down-command
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
- ;; This exists because <tab> is recognized as C-i on terminals.
- (kbd "g TAB") 'forward-button
- "g]" 'forward-button
- "g[" 'backward-button
-
- (kbd "C-o") 'help-go-back
- (kbd "C-i") 'help-go-forward
-
- ;; TODO: Enable more help-go-* bindings?
- ;; "gj" 'help-go-forward
- ;; "gk" 'help-go-back
- ;; "\C-j" 'help-go-forward
- ;; "\C-k" 'help-go-back
-
- ;; The following bindings don't do what they are supposed to. "go" should open
- ;; in the same window and "gO" should open in a different one.
- "go" 'push-button
- "gO" 'push-button
-
- "g?" 'describe-mode
- "gr" 'revert-buffer
- "<" 'help-go-back
- ">" 'help-go-forward
- "r" 'help-follow)
-
- (when (>= emacs-major-version 28)
- (evil-collection-define-key 'normal 'help-mode-map
- "s" 'help-view-source
- "i" 'help-goto-info
- "c" 'help-customize)))
-
-(provide 'evil-collection-help)
-;;; evil-collection-help.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/helpful/README.org b/.config/emacs/lisp/evil-collection/modes/helpful/README.org
deleted file mode 100644
index 8d41b3d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/helpful/README.org
+++ /dev/null
@@ -1,19 +0,0 @@
-* helpful
-
- Evil bindings for [[https://github.com/Wilfred/helpful][helpful]].
-
- Standard motion / quit bindings come from =evil-collection-set-readonly-bindings=
- and are not repeated below.
-
-** Key bindings
-
-*** helpful-mode-map (normal state)
-
- | Command | Original | Evil |
- |---------------------------+-------------+-------------|
- | =forward-button= | =TAB=, =n= | =<tab>= |
- | =backward-button= | =<backtab>= | =<backtab>= |
- | =helpful-visit-reference= | =RET= | =RET= |
- | =push-button= | n/a | =go=, =gO= |
- | =describe-mode= | n/a | =g?= |
- | =helpful-update= | =g= | =gr= |
diff --git a/.config/emacs/lisp/evil-collection/modes/helpful/evil-collection-helpful.el b/.config/emacs/lisp/evil-collection/modes/helpful/evil-collection-helpful.el
deleted file mode 100644
index 58b8af7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/helpful/evil-collection-helpful.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; evil-collection-helpful.el --- Evil bindings for helpful-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, help, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `helpful-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'helpful nil t)
-
-(defconst evil-collection-helpful-maps '(helpful-mode-map))
-
-;;;###autoload
-(defun evil-collection-helpful-setup ()
- "Set up `evil' bindings for `helpful'."
- (evil-collection-set-readonly-bindings 'helpful-mode-map)
- (evil-collection-define-key 'normal 'helpful-mode-map
- ;; motion
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
- (kbd "RET") 'helpful-visit-reference
-
- ;; The following bindings don't do what they are supposed to. "go" should open
- ;; in the same window and "gO" should open in a different one.
- "go" 'push-button
- "gO" 'push-button
-
- "g?" 'describe-mode
- "gr" 'helpful-update))
-
-(provide 'evil-collection-helpful)
-;;; evil-collection-helpful.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/hg-histedit/evil-collection-hg-histedit.el b/.config/emacs/lisp/evil-collection/modes/hg-histedit/evil-collection-hg-histedit.el
deleted file mode 100644
index 6ee6f74..0000000
--- a/.config/emacs/lisp/evil-collection/modes/hg-histedit/evil-collection-hg-histedit.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-hg-histedit.el --- Bindings for `hg-histedit' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `hg-histedit'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'hg-histedit nil t)
-
-(defconst evil-collection-hg-histedit-maps '(hg-histedit-mode-map))
-
-;;;###autoload
-(defun evil-collection-hg-histedit-setup ()
- "Set up `evil' bindings for `hg-histedit'."
- (evil-collection-define-key 'normal 'hg-histedit-mode-map
- "e" 'hg-histedit-modify-commit-with-edit
- "m" 'hg-histedit-modify-commit-with-mess
- "p" 'hg-histedit-modify-commit-with-pick
- "b" 'hg-histedit-modify-commit-with-base
- "d" 'hg-histedit-modify-commit-with-drop
- "f" 'hg-histedit-modify-commit-with-fold
- "r" 'hg-histedit-modify-commit-with-roll
- "u" 'hg-histedit-undo))
-
-(provide 'evil-collection-hg-histedit)
-;;; evil-collection-hg-histedit.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/hideshow/README.org b/.config/emacs/lisp/evil-collection/modes/hideshow/README.org
deleted file mode 100644
index 5599606..0000000
--- a/.config/emacs/lisp/evil-collection/modes/hideshow/README.org
+++ /dev/null
@@ -1,11 +0,0 @@
-* hideshow
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Hideshow.html][hideshow]] (=hs-minor-mode=). Standard fold operations
- (=zo=, =zc=, =zr=, =zm=, =zR=, =zM=, =za=) are provided by evil itself via
- =evil-fold-list=; this module adds the missing level-hide binding.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-----------------+-------------+------|
- | =hs-hide-level= | =C-c @ C-l= | =zL= |
diff --git a/.config/emacs/lisp/evil-collection/modes/hideshow/evil-collection-hideshow.el b/.config/emacs/lisp/evil-collection/modes/hideshow/evil-collection-hideshow.el
deleted file mode 100644
index ba27d84..0000000
--- a/.config/emacs/lisp/evil-collection/modes/hideshow/evil-collection-hideshow.el
+++ /dev/null
@@ -1,45 +0,0 @@
-;;; evil-collection-hideshow --- Bindings for `hideshow' -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2025 Julian Hoch
-
-;; Author: Julian Hoch <julianhoch@web.de>
-;; Maintainer: Julian Hoch <julianhoch@web.de>
-;; Created: 2025-09-27
-;; Keywords: evil, emacs, tools
-;; URL: https://github.com/emacs-evil/evil-collection
-
-;; This file is not part of GNU Emacs.
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `hideshow'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'hideshow nil t)
-
-(declare-function hs-hide-level "hideshow")
-(defvar hs-minor-mode-map)
-(defconst evil-collection-hideshow-maps '(hs-minor-mode-map))
-
-;;;###autoload
-(defun evil-collection-hideshow-setup ()
- "Set up `evil' bindings for `hideshow'."
- (evil-set-initial-state 'hs-minor-mode 'normal)
- (evil-collection-define-key 'normal 'hs-minor-mode-map
- "zL" 'hs-hide-level))
-
-(provide 'evil-collection-hideshow)
-;;; evil-collection-hideshow.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/hungry-delete/evil-collection-hungry-delete.el b/.config/emacs/lisp/evil-collection/modes/hungry-delete/evil-collection-hungry-delete.el
deleted file mode 100644
index 10b9b4c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/hungry-delete/evil-collection-hungry-delete.el
+++ /dev/null
@@ -1,60 +0,0 @@
-;;; evil-collection-hungry-delete.el --- Bindings for `hungry-delete' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, hungry-delete, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `hungry-delete'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'hungry-delete nil t)
-
-(defconst evil-collection-hungry-delete-maps '(hungry-delete-mode-map))
-
-(defun evil-collection-hungry-delete (f &rest args)
- "Wrapper function to run `hungry-delete-backward' if
-`hungry-delete-mode' is on."
- (if (and (bound-and-true-p hungry-delete-mode)
- (fboundp 'hungry-delete-backward))
- (hungry-delete-backward 1)
- (apply f args)))
-
-(defun evil-collection-hungry-delete-for-join (f &rest args)
- "Wrapper function to run `hungry-delete-backward' if
-`hungry-delete-mode' is on."
- (if (and (bound-and-true-p hungry-delete-mode)
- (fboundp 'hungry-delete-backward))
- (hungry-delete-backward 1)
- (funcall f args)))
-
-;;;###autoload
-(defun evil-collection-hungry-delete-setup ()
- "Set up `evil' bindings for `hungry-delete'."
- (advice-add 'evil-delete-backward-char
- :around #'evil-collection-hungry-delete)
- (advice-add 'evil-delete-backward-char-and-join
- :around #'evil-collection-hungry-delete-for-join))
-
-(provide 'evil-collection-hungry-delete)
-;;; evil-collection-hungry-delete.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/hyrolo/evil-collection-hyrolo.el b/.config/emacs/lisp/evil-collection/modes/hyrolo/evil-collection-hyrolo.el
deleted file mode 100644
index 2dd0033..0000000
--- a/.config/emacs/lisp/evil-collection/modes/hyrolo/evil-collection-hyrolo.el
+++ /dev/null
@@ -1,32 +0,0 @@
-;;; evil-collection-hyrolo.el --- Bindings for `hyrolo' -*- lexical-binding: t -*-
-
-;;; Commentary:
-;;; Bindings for hyrolo.
-
-;;; Code:
-(require 'evil-collection)
-(require 'hyperbole nil t)
-
-(defvar hyrolo-mode-map)
-(defconst evil-collection-hyrolo-maps '(hyrolo-mode-map))
-
-(declare-function hyrolo-to-previous-loc "hyrolo")
-(declare-function hyrolo-to-next-loc "hyrolo")
-(declare-function hyrolo-overview "hyrolo")
-(declare-function hyrolo-outline-show-all "hyrolo")
-
-(defun evil-collection-hyrolo-setup ()
- "Set up `evil' bindings for hyrolo."
- (evil-collection-define-key 'normal 'hyrolo-mode-map
- (kbd "[[") #'hyrolo-to-previous-loc
- (kbd "]]") #'hyrolo-to-next-loc
- (kbd "C-k") #'hyrolo-to-previous-loc
- (kbd "C-j") #'hyrolo-to-next-loc
- (kbd "gk") #'hyrolo-to-previous-loc
- (kbd "gj") #'hyrolo-to-next-loc
- (kbd "zo") #'hyrolo-outline-show-all
- (kbd "zc") #'hyrolo-overview)
- (evil-set-initial-state 'hyrolo-mode 'normal))
-
-(provide 'evil-collection-hyrolo)
-;;; evil-collection-hyrolo.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ibuffer/README.org b/.config/emacs/lisp/evil-collection/modes/ibuffer/README.org
deleted file mode 100644
index b4f7fc5..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ibuffer/README.org
+++ /dev/null
@@ -1,60 +0,0 @@
-* ibuffer
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Ibuffer.html][IBuffer]].
-
-** Key bindings
-
- Most marking, filtering, and operate-on-marked commands keep their default
- ibuffer keys. The table below covers what evil-collection relocates.
-
- | Command | Original | Evil |
- |----------------------------------------------+-----------------+--------------------------------------------|
- | =ibuffer-forward-line= | =n= | (default) |
- | =ibuffer-backward-line= | =p= | (default) |
- | =ibuffer-forward-line= (g-prefix) | n/a | =gj= |
- | =ibuffer-backward-line= (g-prefix) | n/a | =gk= |
- | =ibuffer-update= | =g= | =gr= |
- | =ibuffer-redisplay= | =l= | =gR= |
- | =ibuffer-jump-to-buffer= | =j=, =M-g= | =J=, =M-g= |
- | =ibuffer-visit-buffer= | =RET=, =e=, =f= | =RET= |
- | =ibuffer-visit-buffer-other-window= | =o= | =go= |
- | =ibuffer-visit-buffer-other-window-noselect= | =C-o= | =C-o= |
- | =ibuffer-visit-buffer-1-window= | =M-o= | =M-o= |
- | =ibuffer-do-view= | =A=, =v= | =A=, =gv= |
- | =ibuffer-do-view-horizontally= | =C-x v= | =gV= |
- | =ibuffer-mark-forward= | =m= | =m= |
- | =ibuffer-unmark-forward= | =u= | =u= |
- | =ibuffer-unmark-backward= | =DEL= | =DEL= |
- | =ibuffer-toggle-marks= | =t= | =t=, =~= |
- | =ibuffer-unmark-all-marks= | =U= | =U= |
- | =ibuffer-unmark-all= | =M-DEL= | =M-DEL= |
- | =ibuffer-mark-for-delete= | =d= | =d= |
- | =ibuffer-mark-for-delete-backwards= | =C-d= | =C-d= (when =evil-want-C-d-scroll= is nil) |
- | =ibuffer-do-kill-on-deletion-marks= | =x= | =x= |
- | =ibuffer-do-kill-lines= | =k= | =K= |
- | =ibuffer-bury-buffer= | =b= | =X= |
- | =ibuffer-kill-line= | =C-k= | =gx= |
- | =ibuffer-yank= | =C-y= | =C-y= |
- | =ibuffer-copy-filename-as-kill= | =w= | =yf= |
- | =ibuffer-copy-buffername-as-kill= | =B= | =yb= |
- | =ibuffer-diff-with-file= | === | === |
- | =ibuffer-toggle-sorting-mode= | =,= | =,= |
- | =ibuffer-invert-sorting= | =s i= | =o i= |
- | =ibuffer-do-sort-by-alphabetic= | =s a= | =o a= |
- | =ibuffer-do-sort-by-recency= | =s v= | =o v= |
- | =ibuffer-do-sort-by-size= | =s s= | =o s= |
- | =ibuffer-do-sort-by-filename/process= | =s f= | =o f= |
- | =ibuffer-do-sort-by-major-mode= | =s m= | =o m= |
- | =ibuffer-forward-filter-group= | =M-n=, =TAB= | =C-j=, =M-n=, =]]=, =TAB= |
- | =ibuffer-backward-filter-group= | =M-p=, =S-TAB= | =C-k=, =M-p=, =[[=, =S-TAB= |
- | =ibuffer-jump-to-filter-group= | =M-j= | =M-j= |
- | =ibuffer-forward-next-marked= | =M-}= | =}=, =M-}= |
- | =ibuffer-backwards-next-marked= | =M-{= | ={=, =M-{= |
- | =ibuffer-switch-format= | =`= | =`= |
- | =ibuffer-add-to-tmp-show= | =+= | =+= |
- | =ibuffer-add-to-tmp-hide= | =-= | =-= |
- | =quit-window= | =q= | =q=, =ZZ=, =ZQ= |
-
- Operate-on-marked uppercase keys (=D=, =E=, =F=, =H=, =I=, =M=, =N=, =O=,
- =P=, =Q=, =R=, =S=, =T=, =V=, =W=), the =% =, =* =, =s = (filter) and
- =/ = prefixes keep their default ibuffer behavior.
diff --git a/.config/emacs/lisp/evil-collection/modes/ibuffer/evil-collection-ibuffer.el b/.config/emacs/lisp/evil-collection/modes/ibuffer/evil-collection-ibuffer.el
deleted file mode 100644
index ccca359..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ibuffer/evil-collection-ibuffer.el
+++ /dev/null
@@ -1,197 +0,0 @@
-;;; evil-collection-ibuffer.el --- Evil bindings for IBuffer -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, ibuffer, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for IBuffer.
-
-;;; Code:
-(require 'evil-collection)
-(require 'ibuffer)
-
-(defconst evil-collection-ibuffer-maps '(ibuffer-mode-map))
-
-;;;###autoload
-(defun evil-collection-ibuffer-setup ()
- "Set up `evil' bindings for `ibuffer'."
- (evil-set-initial-state 'ibuffer-mode 'normal)
-
- (evil-collection-define-key 'normal 'ibuffer-mode-map
- (kbd "C-d") (if evil-want-C-d-scroll
- 'evil-scroll-down
- 'ibuffer-mark-for-delete-backwards))
-
- (evil-collection-define-key 'normal 'ibuffer-mode-map
- (kbd "=") 'ibuffer-diff-with-file
- (kbd "J") 'ibuffer-jump-to-buffer
- (kbd "M-g") 'ibuffer-jump-to-buffer
- (kbd "M-s a C-s") 'ibuffer-do-isearch
- (kbd "M-s a M-C-s") 'ibuffer-do-isearch-regexp
- (kbd "M-s a C-o") 'ibuffer-do-occur
-
- ;; mark
- (kbd "m") 'ibuffer-mark-forward
- (kbd "~") 'ibuffer-toggle-marks
- (kbd "u") 'ibuffer-unmark-forward
- (kbd "DEL") 'ibuffer-unmark-backward
- (kbd "M-DEL") 'ibuffer-unmark-all
- (kbd "* *") 'ibuffer-mark-special-buffers
- (kbd "* c") 'ibuffer-change-marks
- (kbd "U") 'ibuffer-unmark-all-marks
- (kbd "* M") 'ibuffer-mark-by-mode
- (kbd "* m") 'ibuffer-mark-modified-buffers
- (kbd "* u") 'ibuffer-mark-unsaved-buffers
- (kbd "* s") 'ibuffer-mark-special-buffers
- (kbd "* r") 'ibuffer-mark-read-only-buffers
- (kbd "* /") 'ibuffer-mark-dired-buffers
- (kbd "* e") 'ibuffer-mark-dissociated-buffers
- (kbd "* h") 'ibuffer-mark-help-buffers
- (kbd "* z") 'ibuffer-mark-compressed-file-buffers
- (kbd ".") 'ibuffer-mark-old-buffers
-
- (kbd "d") 'ibuffer-mark-for-delete
- (kbd "x") 'ibuffer-do-kill-on-deletion-marks
-
- ;; immediate operations
- (kbd "gj") 'ibuffer-forward-line
- (kbd "gk") 'ibuffer-backward-line
-
- (kbd "}") 'ibuffer-forward-next-marked
- (kbd "{") 'ibuffer-backwards-next-marked
- (kbd "M-}") 'ibuffer-forward-next-marked
- (kbd "M-{") 'ibuffer-backwards-next-marked
-
- (kbd "gR") 'ibuffer-redisplay
- (kbd "gr") 'ibuffer-update
-
- "`" 'ibuffer-switch-format
- "-" 'ibuffer-add-to-tmp-hide
- "+" 'ibuffer-add-to-tmp-show
- "X" 'ibuffer-bury-buffer
- (kbd ",") 'ibuffer-toggle-sorting-mode
- (kbd "o i") 'ibuffer-invert-sorting
- (kbd "o a") 'ibuffer-do-sort-by-alphabetic
- (kbd "o v") 'ibuffer-do-sort-by-recency
- (kbd "o s") 'ibuffer-do-sort-by-size
- (kbd "o f") 'ibuffer-do-sort-by-filename/process
- (kbd "o m") 'ibuffer-do-sort-by-major-mode
-
- (kbd "s RET") 'ibuffer-filter-by-mode
- (kbd "s m") 'ibuffer-filter-by-used-mode
- (kbd "s M") 'ibuffer-filter-by-derived-mode
- (kbd "s n") 'ibuffer-filter-by-name
- (kbd "s *") 'ibuffer-filter-by-starred-name
- (kbd "s f") 'ibuffer-filter-by-filename
- (kbd "s b") 'ibuffer-filter-by-basename
- (kbd "s .") 'ibuffer-filter-by-file-extension
- (kbd "s <") 'ibuffer-filter-by-size-lt
- (kbd "s >") 'ibuffer-filter-by-size-gt
- (kbd "s i") 'ibuffer-filter-by-modified
- (kbd "s v") 'ibuffer-filter-by-visiting-file
- (kbd "s c") 'ibuffer-filter-by-content
- (kbd "s e") 'ibuffer-filter-by-predicate
-
- (kbd "s r") 'ibuffer-switch-to-saved-filters
- (kbd "s a") 'ibuffer-add-saved-filters
- (kbd "s x") 'ibuffer-delete-saved-filters
- (kbd "s d") 'ibuffer-decompose-filter
- (kbd "s s") 'ibuffer-save-filters
- (kbd "s p") 'ibuffer-pop-filter
- (kbd "s <up>") 'ibuffer-pop-filter
- (kbd "s !") 'ibuffer-negate-filter
- (kbd "s t") 'ibuffer-exchange-filters
- (kbd "s TAB") 'ibuffer-exchange-filters
- (kbd "s o") 'ibuffer-or-filter
- (kbd "s |") 'ibuffer-or-filter
- (kbd "s &") 'ibuffer-and-filter
- (kbd "s g") 'ibuffer-filters-to-filter-group
- (kbd "s P") 'ibuffer-pop-filter-group
- (kbd "s S-<up>") 'ibuffer-pop-filter-group
- (kbd "s D") 'ibuffer-decompose-filter-group
- (kbd "s /") 'ibuffer-filter-disable
-
- (kbd "C-j") 'ibuffer-forward-filter-group
- (kbd "M-n") 'ibuffer-forward-filter-group
- (kbd "]]") 'ibuffer-forward-filter-group
- "\t" 'ibuffer-forward-filter-group
- (kbd "M-p") 'ibuffer-backward-filter-group
- (kbd "C-k") 'ibuffer-backward-filter-group
- (kbd "[[") 'ibuffer-backward-filter-group
- [backtab] 'ibuffer-backward-filter-group
- (kbd "M-j") 'ibuffer-jump-to-filter-group
- (kbd "gx") 'ibuffer-kill-line
- (kbd "C-y") 'ibuffer-yank
- (kbd "s S") 'ibuffer-save-filter-groups
- (kbd "s R") 'ibuffer-switch-to-saved-filter-groups
- (kbd "s X") 'ibuffer-delete-saved-filter-groups
- (kbd "s \\") 'ibuffer-clear-filter-groups
-
- (kbd "% n") 'ibuffer-mark-by-name-regexp
- (kbd "% m") 'ibuffer-mark-by-mode-regexp
- (kbd "% f") 'ibuffer-mark-by-file-name-regexp
- (kbd "% g") 'ibuffer-mark-by-content-regexp
- (kbd "% L") 'ibuffer-mark-by-locked
-
- (kbd "C-t") 'ibuffer-visit-tags-table
-
- (kbd "|") 'ibuffer-do-shell-command-pipe
- (kbd "!") 'ibuffer-do-shell-command-file
- (kbd "t") 'ibuffer-toggle-marks
- ;; marked operations
- (kbd "A") 'ibuffer-do-view
- (kbd "D") 'ibuffer-do-delete
- (kbd "E") 'ibuffer-do-eval
- (kbd "F") 'ibuffer-do-shell-command-file
- (kbd "I") 'ibuffer-do-query-replace-regexp
- (kbd "H") 'ibuffer-do-view-other-frame
- (kbd "N") 'ibuffer-do-shell-command-pipe-replace
- (kbd "M") 'ibuffer-do-toggle-modified
- (kbd "O") 'ibuffer-do-occur
- (kbd "P") 'ibuffer-do-print
- (kbd "Q") 'ibuffer-do-query-replace
- (kbd "R") 'ibuffer-do-rename-uniquely
- (kbd "S") 'ibuffer-do-save
- (kbd "T") 'ibuffer-do-toggle-read-only
- (kbd "r") 'ibuffer-do-replace-regexp
- (kbd "V") 'ibuffer-do-revert
- (kbd "W") 'ibuffer-do-view-and-eval
-
- (kbd "K") 'ibuffer-do-kill-lines
- (kbd "yf") 'ibuffer-copy-filename-as-kill
- (kbd "yb") 'ibuffer-copy-buffername-as-kill
-
- (kbd "RET") 'ibuffer-visit-buffer
- (kbd "go") 'ibuffer-visit-buffer-other-window
- (kbd "C-o") 'ibuffer-visit-buffer-other-window-noselect
- (kbd "M-o") 'ibuffer-visit-buffer-1-window
- (kbd "gv") 'ibuffer-do-view
- (kbd "gV") 'ibuffer-do-view-horizontally
-
- ;; Quit
- "q" 'quit-window
- "ZZ" 'quit-window
- "ZQ" 'quit-window))
-
-(provide 'evil-collection-ibuffer)
-;;; evil-collection-ibuffer.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ielm/README.org b/.config/emacs/lisp/evil-collection/modes/ielm/README.org
deleted file mode 100644
index f7ce241..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ielm/README.org
+++ /dev/null
@@ -1,22 +0,0 @@
-* ielm
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Lisp-Interaction.html][IELM]] (Inferior Emacs Lisp Mode).
-
- Initial state is =insert=. =RET= sends input in the state named by
- =evil-collection-repl-submit-state=.
-
-** Key bindings
-
- | Command | Original | Evil |
- |---------------+----------+----------------------|
- | =ielm-return= | =RET= | =RET= (submit state) |
-
-** Customization
-
- | Variable | Default | Purpose |
- |-----------------------------------------+---------+--------------------------------------------------------|
- | =evil-collection-ielm-move-cursor-back= | =nil= | Move cursor back one column when leaving insert state. |
-
-** Notes
-
- - On entering normal state, point stays put (no Vim-style backward step).
diff --git a/.config/emacs/lisp/evil-collection/modes/ielm/evil-collection-ielm.el b/.config/emacs/lisp/evil-collection/modes/ielm/evil-collection-ielm.el
deleted file mode 100644
index 0883bb6..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ielm/evil-collection-ielm.el
+++ /dev/null
@@ -1,60 +0,0 @@
-;;; evil-collection-ielm.el --- Bindings for `ielm' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2026 Ian Pan <ianpan870102@gmail.com>
-
-;; Author: Ian Pan <ianpan870102@gmail.com>
-;; Maintainer: Ian Pan <ianpan870102@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, ielm, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `ielm' (Inferior Emacs Lisp Mode).
-
-;;; Code:
-(require 'evil-collection)
-(require 'ielm nil t)
-
-(defvar inferior-emacs-lisp-mode-map)
-(defconst evil-collection-ielm-maps '(inferior-emacs-lisp-mode-map))
-
-(defcustom evil-collection-ielm-move-cursor-back nil
- "Whether the cursor is moved backwards when exiting insert state."
- :type 'boolean
- :group 'ielm)
-
-(defun evil-collection-ielm-escape-stay ()
- "Go back to normal state but don't move cursor backwards.
-Moving cursor backwards is the default vim behavior but
-it is not intuitive for some cases like REPL buffers."
- (setq-local evil-move-cursor-back
- evil-collection-ielm-move-cursor-back))
-
-;;;###autoload
-(defun evil-collection-ielm-setup ()
- "Set up `evil' bindings for `ielm'."
- (evil-set-initial-state 'inferior-emacs-lisp-mode 'insert)
-
- (add-hook 'ielm-mode-hook #'evil-collection-ielm-escape-stay)
-
- (let* ((submit evil-collection-repl-submit-state))
- (evil-collection-define-key submit 'inferior-emacs-lisp-mode-map
- (kbd "RET") #'ielm-return
- (kbd "<return>") #'ielm-return)))
-
-(provide 'evil-collection-ielm)
-;;; evil-collection-ielm.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/image+/evil-collection-image+.el b/.config/emacs/lisp/evil-collection/modes/image+/evil-collection-image+.el
deleted file mode 100644
index 2ff9511..0000000
--- a/.config/emacs/lisp/evil-collection/modes/image+/evil-collection-image+.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; evil-collection-image+.el --- Evil bindings for image-mode with image+ -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, image, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for image-mode with image+.
-
-;;; Code:
-(require 'evil-collection)
-(require 'image+ nil t)
-
-(defconst evil-collection-image+-maps '(image-mode-map))
-
-;;;###autoload
-(defun evil-collection-image+-setup ()
- "Set up `evil' bindings for `image+'."
- (evil-collection-define-key 'normal 'image-mode-map
- ;; zoom
- "+" 'imagex-sticky-zoom-in
- "=" 'imagex-sticky-zoom-in
- "-" 'imagex-sticky-zoom-out
- "O" 'imagex-sticky-restore-original
-
- "M" 'imagex-sticky-maximize
- "m" 'imagex-auto-adjust-mode
- "S" 'imagex-sticky-save-image
- "r" 'imagex-sticky-rotate-right
- "R" 'imagex-sticky-rotate-left
- "<" 'imagex-sticky-rotate-left ; like sxiv
- ">" 'imagex-sticky-rotate-right)) ; like sxiv
-
-(provide 'evil-collection-image+)
-;;; evil-collection-image+.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/image-dired/README.org b/.config/emacs/lisp/evil-collection/modes/image-dired/README.org
deleted file mode 100644
index e9f6a05..0000000
--- a/.config/emacs/lisp/evil-collection/modes/image-dired/README.org
+++ /dev/null
@@ -1,31 +0,0 @@
-* image-dired
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Image_002dDired.html][image-dired-thumbnail-mode]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |---------------------------------------------------+-----------+-----------|
- | =image-dired-backward-image= | =<left>= | =h= |
- | =image-dired-forward-image= | =<right>= | =l= |
- | =image-dired-next-line= | =<down>= | =j= |
- | =image-dired-previous-line= | =<up>= | =k= |
- | =image-dired-display-next-thumbnail-original= | =SPC= | =SPC= |
- | =image-dired-display-previous-thumbnail-original= | =DEL= | =S-SPC= |
- | =image-dired-display-thumbnail-original-image= | =RET= | =RET= |
- | =image-dired-comment-thumbnail= | =c= | =c= |
- | =image-dired-thumbnail-set-image-description= | =D= | =d= |
- | =image-dired-mark-thumb-original-file= | =m= | =m= |
- | =image-dired-unmark-thumb-original-file= | =u= | =u= |
- | =image-dired-delete-char= | =C-d= | =D= |
- | =image-dired-rotate-thumbnail-right= | n/a | =r= |
- | =image-dired-rotate-thumbnail-left= | n/a | =R= |
- | =image-dired-rotate-original-left= | =L= | =<= |
- | =image-dired-rotate-original-right= | =R= | =>= |
- | =image-dired-tag-thumbnail= | =t t= | =tt= |
- | =image-dired-tag-thumbnail-remove= | =t r= | =tr= |
- | =image-dired-line-up= | =g f= | =ff= |
- | =image-dired-line-up-dynamic= | =g g= | =fd= |
- | =image-dired-line-up-interactive= | =g i= | =fi= |
- | =quit-window= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/image-dired/evil-collection-image-dired.el b/.config/emacs/lisp/evil-collection/modes/image-dired/evil-collection-image-dired.el
deleted file mode 100644
index 4e009ac..0000000
--- a/.config/emacs/lisp/evil-collection/modes/image-dired/evil-collection-image-dired.el
+++ /dev/null
@@ -1,74 +0,0 @@
-;;; evil-collection-image-dired.el --- Evil bindings for image-dired-thumbnail-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, dired, image, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `image-dired-thumbnail-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'image-dired)
-
-(defconst evil-collection-image-dired-maps '(image-dired-thumbnail-mode-map))
-
-;;;###autoload
-(defun evil-collection-image-dired-setup ()
- "Set up `evil' bindings for `image-dired-thumbnail-mode'."
- (evil-collection-define-key 'normal 'image-dired-thumbnail-mode-map
- ;; motion
- "h" 'image-dired-backward-image
- "l" 'image-dired-forward-image
- "j" 'image-dired-next-line
- "k" 'image-dired-previous-line
-
- (kbd "SPC") 'image-dired-display-next-thumbnail-original
- (kbd "S-SPC") 'image-dired-display-previous-thumbnail-original
- (kbd "RET") 'image-dired-display-thumbnail-original-image
-
- "c" 'image-dired-comment-thumbnail
- "d" 'image-dired-thumbnail-set-image-description
- "m" 'image-dired-mark-thumb-original-file
- "u" 'image-dired-unmark-thumb-original-file
- "D" 'image-dired-delete-char
-
- ;; See image+.
- "r" 'image-dired-rotate-thumbnail-right
- "R" 'image-dired-rotate-thumbnail-left
- "<" 'image-dired-rotate-original-left ; like sxiv
- ">" 'image-dired-rotate-original-right ; like sxiv
-
- "tr" 'image-dired-tag-thumbnail-remove
- "tt" 'image-dired-tag-thumbnail
-
- "ff" 'image-dired-line-up
- "fd" 'image-dired-line-up-dynamic
- "fi" 'image-dired-line-up-interactive
-
- ;; quit
- "q" 'quit-window
- "ZQ" 'evil-quit
- "ZZ" 'quit-window))
-
-(provide 'evil-collection-image-dired)
-;;; evil-collection-image-dired.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/image/README.org b/.config/emacs/lisp/evil-collection/modes/image/README.org
deleted file mode 100644
index 7824491..0000000
--- a/.config/emacs/lisp/evil-collection/modes/image/README.org
+++ /dev/null
@@ -1,36 +0,0 @@
-* image
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Image-Mode.html][image-mode]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |------------------------------------+------------------+---------------------|
- | =image-bob= | =<= | =gg= |
- | =image-eob= | =>= | =G= |
- | =image-forward-hscroll= | =C-f=, =<right>= | =l= |
- | =image-backward-hscroll= | =C-b=, =<left>= | =h= |
- | =image-next-line= | =C-n=, =<down>= | =j= |
- | =image-previous-line= | =C-p=, =<up>= | =k= |
- | =image-bol= | =C-a= | =0=, =^= |
- | =image-eol= | =C-e= | =$= |
- | =image-scroll-up= | =SPC= | =SPC=, =C-d= |
- | =image-scroll-down= | =S-SPC=, =DEL= | =S-SPC=, =<delete>= |
- | =image-scroll-down= (=C-u-scroll=) | n/a | =C-u= |
- | =image-toggle-animation= | =RET= | =RET= |
- | =image-reset-speed= | =a 0= | =a0= |
- | =image-reverse-speed= | =a r= | =ar= |
- | =image-goto-frame= | =F= | =F= |
- | =image-previous-frame= | =b= | =,= |
- | =image-next-frame= | =f= | =.=, =;= |
- | =image-decrease-speed= | n/a | ={= |
- | =image-increase-speed= | n/a | =}= |
- | =image-transform-fit-to-height= | =s h= | =H= |
- | =image-transform-fit-to-width= | =s i= | =W= |
- | =image-increase-size= | =i += | =+=, === |
- | =image-decrease-size= | =i -= | =-= |
- | =image-previous-file= | =p= | =[[=, =gk=, =C-k= |
- | =image-next-file= | =n= | =]]=, =gj=, =C-j= |
- | =image-toggle-display= | =C-c C-c= | =C-c C-c= |
- | =quit-window= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/image/evil-collection-image.el b/.config/emacs/lisp/evil-collection/modes/image/evil-collection-image.el
deleted file mode 100644
index c8da183..0000000
--- a/.config/emacs/lisp/evil-collection/modes/image/evil-collection-image.el
+++ /dev/null
@@ -1,93 +0,0 @@
-;;; evil-collection-image.el --- Evil bindings for Image -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, bookmark, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `image-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'image-mode)
-
-(defconst evil-collection-image-maps '(image-mode-map))
-
-;;;###autoload
-(defun evil-collection-image-setup ()
- "Set up `evil' bindings for `image-mode'."
- (evil-set-initial-state 'image-mode 'normal)
-
- (evil-collection-define-key 'normal 'image-mode-map
- ;; motion
- "gg" 'image-bob
- "G" 'image-eob
- [remap evil-forward-char] 'image-forward-hscroll
- [remap evil-backward-char] 'image-backward-hscroll
- [remap evil-next-line] 'image-next-line
- [remap evil-previous-line] 'image-previous-line
- "0" 'image-bol
- "^" 'image-bol
- "$" 'image-eol
- (kbd "C-d") 'image-scroll-up
- (kbd "SPC") 'image-scroll-up
- (kbd "S-SPC") 'image-scroll-down
- (kbd "<delete>") 'image-scroll-down
- ;; animation
- (kbd "RET") 'image-toggle-animation
- "a0" 'image-reset-speed
- "ar" 'image-reverse-speed
- "F" 'image-goto-frame
- "," 'image-previous-frame ; mplayer/mpv style
- "." 'image-next-frame ; mplayer/mpv style
- ";" 'image-next-frame ; Evil style
- "{" 'image-decrease-speed ; mplayer/mpv style
- "}" 'image-increase-speed ; mplayer/mpv style
-
- "H" 'image-transform-fit-to-height
- "W" 'image-transform-fit-to-width
-
- "+" 'image-increase-size
- "=" 'image-increase-size
- "-" 'image-decrease-size
-
- "[[" 'image-previous-file
- "]]" 'image-next-file
- "gk" 'image-previous-file
- "gj" 'image-next-file
- (kbd "C-k") 'image-previous-file
- (kbd "C-j") 'image-next-file
-
- (kbd "C-c C-c") 'image-toggle-display
-
- ;; quit
- "q" 'quit-window
- "ZQ" 'evil-quit
- "ZZ" 'quit-window)
-
- ;; TODO: What if the user changes `evil-want-C-u-scroll' after this is run?
- (when evil-want-C-u-scroll
- (evil-collection-define-key 'normal 'image-mode-map
- (kbd "C-u") 'image-scroll-down)))
-
-(provide 'evil-collection-image)
-;;; evil-collection-image.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/imenu-list/evil-collection-imenu-list.el b/.config/emacs/lisp/evil-collection/modes/imenu-list/evil-collection-imenu-list.el
deleted file mode 100644
index 21a54e3..0000000
--- a/.config/emacs/lisp/evil-collection/modes/imenu-list/evil-collection-imenu-list.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; evil-collection-imenu-list.el --- Bindings for `imenu-list' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: Fredrik Bergroth <fbergroth@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `imenu-list'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'imenu-list nil t)
-
-(defconst evil-collection-imenu-list-maps '(imenu-list-major-mode-map))
-
-;;;###autoload
-(defun evil-collection-imenu-list-setup ()
- "Set up `evil' bindings for `imenu-list'."
- (evil-collection-define-key 'normal 'imenu-list-major-mode-map
- (kbd "RET") 'imenu-list-goto-entry
- (kbd "TAB") 'hs-toggle-hiding
- "d" 'imenu-list-display-entry
- "gr" 'imenu-list-refresh
- "q" 'imenu-list-quit-window))
-
-
-(provide 'evil-collection-imenu-list)
-;;; evil-collection-imenu-list.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/imenu/README.org b/.config/emacs/lisp/evil-collection/modes/imenu/README.org
deleted file mode 100644
index b34a65d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/imenu/README.org
+++ /dev/null
@@ -1,11 +0,0 @@
-* imenu
-
- Evil integration for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Imenu.html][imenu]]. No keymap is touched; the setup only marks
- =imenu= as a non-repeatable jump command for evil's jump list and dot-repeat
- machinery.
-
-** Notes
-
- - =imenu= is declared with =evil-declare-not-repeat=.
- - =imenu= is given the =:jump t= command property so it integrates with
- =C-o= / =C-i= and =evil-set-jump=.
diff --git a/.config/emacs/lisp/evil-collection/modes/imenu/evil-collection-imenu.el b/.config/emacs/lisp/evil-collection/modes/imenu/evil-collection-imenu.el
deleted file mode 100644
index ac3e905..0000000
--- a/.config/emacs/lisp/evil-collection/modes/imenu/evil-collection-imenu.el
+++ /dev/null
@@ -1,39 +0,0 @@
-;;; evil-collection-imenu.el --- Evil integration for `imenu' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Jacob First
-
-;; Author: Jacob First <jacob.first@member.fsf.org>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil conveniences for `imenu'.
-
-;;; Code:
-(require 'imenu)
-(require 'evil-collection)
-
-;;;###autoload
-(defun evil-collection-imenu-setup ()
- "Set up Evil integration for `imenu'."
- (evil-declare-not-repeat 'imenu)
- (evil-add-command-properties 'imenu :jump t))
-
-(provide 'evil-collection-imenu)
-;;; evil-collection-imenu.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/indent/README.org b/.config/emacs/lisp/evil-collection/modes/indent/README.org
deleted file mode 100644
index 480e6d9..0000000
--- a/.config/emacs/lisp/evil-collection/modes/indent/README.org
+++ /dev/null
@@ -1,15 +0,0 @@
-* indent
-
- Evil bindings for the transient =indent-rigidly-map= used after
- =indent-rigidly= (=C-x TAB=).
-
-** Key bindings
-
- | Command | Original | Evil |
- |------------------------------------+-------------+------|
- | =indent-rigidly-left= | =<left>= | =h= |
- | =indent-rigidly-right= | =<right>= | =l= |
- | =indent-rigidly-left-to-tab-stop= | =S-<left>= | =H= |
- | =indent-rigidly-right-to-tab-stop= | =S-<right>= | =L= |
-
- The arrow-key bindings remain available alongside the hjkl additions.
diff --git a/.config/emacs/lisp/evil-collection/modes/indent/evil-collection-indent.el b/.config/emacs/lisp/evil-collection/modes/indent/evil-collection-indent.el
deleted file mode 100644
index 87a8e00..0000000
--- a/.config/emacs/lisp/evil-collection/modes/indent/evil-collection-indent.el
+++ /dev/null
@@ -1,48 +0,0 @@
-;;; evil-collection-indent.el --- Evil bindings for indentation -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for indentation.
-
-;;; Commentary:
-;;
-
-;;; Code:
-(require 'evil-collection)
-
-(defconst evil-collection-indent-maps '(indent-rigidly-map))
-
-;;;###autoload
-(defun evil-collection-indent-setup ()
- "Set up `evil' bindings for autoloaded files."
- (evil-collection-define-key nil 'indent-rigidly-map
- "h" 'indent-rigidly-left
- "l" 'indent-rigidly-right
- "H" 'indent-rigidly-left-to-tab-stop
- "L" 'indent-rigidly-right-to-tab-stop))
-
-
-(provide 'evil-collection-indent)
-;;; evil-collection-indent.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/indium/evil-collection-indium.el b/.config/emacs/lisp/evil-collection/modes/indium/evil-collection-indium.el
deleted file mode 100644
index 943fd40..0000000
--- a/.config/emacs/lisp/evil-collection/modes/indium/evil-collection-indium.el
+++ /dev/null
@@ -1,110 +0,0 @@
-;;; evil-collection-indium.el --- Bindings for `indium' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, indium, javascript, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `indium'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'indium nil t)
-
-(defconst evil-collection-indium-maps '(indium-debugger-mode-map
- indium-inspector-mode-map
- indium-debugger-locals-mode-map
- indium-debugger-frames-mode-map
- indium-interaction-mode-map
- indium-repl-mode-map))
-
-;;;###autoload
-(defun evil-collection-indium-setup ()
- "Set up `evil' bindings for `indium'."
- (when evil-collection-setup-debugger-keys
- (evil-collection-define-key 'normal 'indium-debugger-mode-map
- "n" 'indium-debugger-step-over
- "i" 'indium-debugger-step-into
- "o" 'indium-debugger-step-out
- "c" 'indium-debugger-resume
- "L" 'indium-debugger-locals
- "s" 'indium-debugger-stack-frames
- "q" 'indium-debugger-resume
- "H" 'indium-debugger-here
- "e" 'indium-debugger-evaluate
- ">" 'indium-debugger-next-frame
- "<" 'indium-debugger-previous-frame)
-
- (add-hook 'indium-debugger-mode-hook #'evil-normalize-keymaps))
-
- (evil-collection-define-key 'normal 'indium-inspector-mode-map
- "q" 'quit-window
- (kbd "RET") 'indium-follow-link
- [mouse-1] 'indium-follow-link
- "L" 'indium-inspector-pop
- "gr" 'indium-inspector-refresh
- "gj" 'indium-inspector-next-reference
- "gk" 'indium-inspector-previous-reference
- (kbd "C-j") 'indium-inspector-next-reference
- (kbd "C-k") 'indium-inspector-previous-reference
- [tab] 'indium-inspector-next-reference
- [backtab] 'indium-inspector-previous-reference)
-
- (evil-collection-define-key 'normal 'indium-debugger-locals-mode-map
- "q" 'quit-window
- "L" nil
- "gr" nil)
-
- (evil-collection-define-key 'normal 'indium-debugger-frames-mode-map
- "q" 'quit-window
- [return] 'indium-follow-link
- (kbd "RET") 'indium-follow-link
- (kbd "gj") 'indium-debugger-frames-next-frame
- (kbd "gk") 'indium-debugger-frames-previous-frame
- (kbd "C-j") 'indium-debugger-frames-next-frame
- (kbd "C-k") 'indium-debugger-frames-previous-frame
- [tab] 'indium-debugger-frames-next-frame
- [backtab] 'indium-debugger-frames-previous-frame)
-
- (evil-collection-define-key 'normal 'indium-interaction-mode-map
- "gr" 'indium-update-script-source
- "gz" 'indium-switch-to-repl-buffer)
-
- (when evil-collection-setup-debugger-keys
- (evil-collection-define-key 'normal 'indium-interaction-mode-map
- [left-fringe mouse-1] 'indium-mouse-toggle-breakpoint
- [left-margin mouse-1] 'indium-mouse-toggle-breakpoint
- [f5] 'indium-debugger-resume
- [S-f5] 'indium-debugger-resume
- [f9] 'indium-toggle-breakpoint
- [f10] 'indium-debugger-step-over
- [f11] 'indium-debugger-step-into
- [S-f11] 'indium-debugger-step-out))
-
- (evil-collection-define-key 'normal 'indium-repl-mode-map
- (kbd "gj") 'indium-repl-next-input
- (kbd "gk") 'indium-repl-previous-input
- (kbd "C-j") 'indium-repl-next-input
- (kbd "C-k") 'indium-repl-previous-input))
-
-(provide 'evil-collection-indium)
-;;; evil-collection-indium.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/info/README.org b/.config/emacs/lisp/evil-collection/modes/info/README.org
deleted file mode 100644
index f8d168b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/info/README.org
+++ /dev/null
@@ -1,40 +0,0 @@
-* info
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/info/index.html][Info]].
-
- Uses normal state instead of motion state and rebinds movement to standard
- evil keys.
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------------------------------+----------------+----------------------|
- | =Info-next-reference= | =TAB= | =TAB=, =g TAB=, =g]= |
- | =Info-prev-reference= | =S-TAB= | =S-TAB=, =g[= |
- | =Info-help= | =h= | =M-h= |
- | =Info-history-back= | =l= | =C-t=, =C-o= |
- | =Info-history-forward= | =r= | =C-i= |
- | =Info-scroll-up= | =SPC= | =SPC= |
- | =Info-scroll-down= | =DEL=, =S-SPC= | =DEL= |
- | =Info-follow-nearest-node= | =RET= | =RET=, =C-]= |
- | =Info-directory= | =d= | =d= |
- | =Info-up= | =^=, =u= | =u= |
- | =Info-history= | =L= | =gL= |
- | =Info-search= | =s= | =s= |
- | =Info-search-case-sensitively= | =S= | =S= |
- | =Info-index= | =i= | =i= |
- | =Info-virtual-index= | =I= | =I= |
- | =info-apropos= | n/a | =a= |
- | =Info-nth-menu-item= | =1..9= | =g1..g9= |
- | =Info-menu= | =m= | =J=, =gm= |
- | =Info-goto-node= | =g= | =gG= |
- | =Info-top-node= | =t=, =<= | =gt= |
- | =Info-toc= | =T= | =gT= |
- | =Info-follow-reference= | =f= | =gf= |
- | =Info-forward-node= | =]= | =C-j= |
- | =Info-backward-node= | =[= | =C-k= |
- | =Info-next= | =n= | =gj= |
- | =Info-prev= | =p= | =gk= |
- | =Info-index-next= | =,= | =g,= |
- | =Info-summary= | =?= | =g?= |
- | =Info-copy-current-node-name= (=y= operator) | =c=, =w= | =yu= |
diff --git a/.config/emacs/lisp/evil-collection/modes/info/evil-collection-info.el b/.config/emacs/lisp/evil-collection/modes/info/evil-collection-info.el
deleted file mode 100644
index 5f4332e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/info/evil-collection-info.el
+++ /dev/null
@@ -1,110 +0,0 @@
-;;; evil-collection-info.el --- Evil bindings for Info-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, info, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; The default bindings in motion state override the standard movement keys.
-;; This package uses normal state and redefines everything.
-
-;;; Code:
-(require 'evil-collection)
-(require 'info)
-
-(defconst evil-collection-info-maps '(Info-mode-map))
-
-;;;###autoload
-(defun evil-collection-info-setup ()
- "Set up `evil' bindings for `info-mode'."
- (evil-collection-set-readonly-bindings 'Info-mode-map)
- (evil-set-initial-state 'Info-mode 'normal)
- (evil-collection-define-key 'normal 'Info-mode-map
- (kbd "<tab>") 'Info-next-reference
- (kbd "S-<tab>") 'Info-prev-reference
- ;; This exists because <tab> is recognized as C-i on terminals.
- (kbd "g TAB") 'Info-next-reference
- "g]" 'Info-next-reference
- "g[" 'Info-prev-reference
-
- ;; From evil-integration.el.
- (kbd "M-h") 'Info-help ; "h"
- (kbd "C-t") 'Info-history-back ; "l"
- (kbd "C-o") 'Info-history-back
- " " 'Info-scroll-up
- (kbd "RET") 'Info-follow-nearest-node
- (kbd "C-]") 'Info-follow-nearest-node
- (kbd "DEL") 'Info-scroll-down
- (kbd "C-i") 'Info-history-forward
-
- "d" 'Info-directory
- "u" 'Info-up
- "gL" 'Info-history ; "L"
- "s" 'Info-search
- "S" 'Info-search-case-sensitively
- "i" 'Info-index
- "I" 'Info-virtual-index
- "a" 'info-apropos
-
- ;; mouse integration
- [mouse-2] 'Info-mouse-follow-nearest-node
- [follow-link] 'mouse-face
- ;; make mac user happy
- [double-wheel-left] 'Info-history-back
- [double-wheel-right] 'Info-history-forward
-
- ;; digit arguments
- "g1" 'Info-nth-menu-item
- "g2" 'Info-nth-menu-item
- "g3" 'Info-nth-menu-item
- "g4" 'Info-nth-menu-item
- "g5" 'Info-nth-menu-item
- "g6" 'Info-nth-menu-item
- "g7" 'Info-nth-menu-item
- "g8" 'Info-nth-menu-item
- "g9" 'Info-nth-menu-item
-
- ;; goto
- "J" 'Info-menu
-
- "gG" 'Info-goto-node
- "gm" 'Info-menu
- "gt" 'Info-top-node
- "gT" 'Info-toc
- "gf" 'Info-follow-reference
- ;; TODO: "[" and "]" are Emacs default for fine-grained browsing.
- ;; We usually use "C-j"/"C-k" for that.
- (kbd "C-j") 'Info-forward-node
- (kbd "C-k") 'Info-backward-node
- "gj" 'Info-next
- "gk" 'Info-prev
-
- "g," 'Info-index-next
-
- "g?" 'Info-summary)
-
- ;; yu, Like eww.
- (evil-collection-define-operator-key 'yank 'Info-mode-map
- "u" 'Info-copy-current-node-name))
-
-(provide 'evil-collection-info)
-;;; evil-collection-info.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ivy/README.org b/.config/emacs/lisp/evil-collection/modes/ivy/README.org
deleted file mode 100644
index e6b0bea..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ivy/README.org
+++ /dev/null
@@ -1,51 +0,0 @@
-* ivy
-
- Evil bindings for [[https://github.com/abo-abo/swiper][ivy]].
-
-** Key bindings
-
-*** ivy-minibuffer-map
-
- Minibuffer bindings only take effect when =evil-collection-setup-minibuffer=
- is non-nil (the global =<escape>= → =minibuffer-keyboard-quit= always applies).
-
- | Command | Original | Evil |
- |----------------------------+----------+------------------------------|
- | =minibuffer-keyboard-quit= | =C-g= | =<escape>= (any) |
- | =abort-recursive-edit= | n/a | =<escape>= (normal) |
- | =exit-minibuffer= | =RET= | =RET= (normal) |
- | =ivy-done= | =RET= | =C-m= (normal) |
- | =ivy-next-line= | =C-n= | =j= (normal), =C-n= (insert) |
- | =ivy-previous-line= | =C-p= | =k= (normal), =C-p= (insert) |
- | =ivy-backward-delete-char= | =DEL= | =DEL= (insert) |
- | =ivy-reverse-i-search= | =C-r= | =C-r= (insert) |
-
-*** ivy-occur-mode-map (normal state)
-
- | Command | Original | Evil |
- |------------------------------+------------+-----------|
- | =ivy-occur-next-line= | =n= | =j= |
- | =ivy-occur-previous-line= | =p= | =k= |
- | =evil-backward-char= | n/a | =h= |
- | =evil-forward-char= | n/a | =l= |
- | =evil-goto-first-line= | n/a | =gg= |
- | =ivy-occur-press= | =RET=, =f= | =gf= |
- | =ivy-occur-press-and-switch= | =o= | =RET= |
- | =ivy-occur-read-action= | =M-o= | =ga= |
- | =ivy-occur-dispatch= | =C-c C-o= | =go= |
- | =ivy-occur-toggle-calling= | =C-c C-p= | =gc= |
- | =ivy-occur-revert-buffer= | =g= | =gr= |
- | =ivy-occur-click= | =mouse-1= | =mouse-1= |
- | =quit-window= | =q= | =q= |
-
-*** ivy-occur-grep-mode-map (normal state)
-
- Inherits the above plus:
-
- | Command | Original | Evil |
- |--------------------------------------------+-----------+-------------------------------------|
- | =ivy-occur-delete-candidate= | =C-d= | =d=, =gd= |
- | =ivy-occur-delete-candidate= | =C-d= | =D= (when =evil-want-C-d-scroll=) |
- | =evil-scroll-down= | n/a | =C-d= (when =evil-want-C-d-scroll=) |
- | =ivy-wgrep-change-to-wgrep-mode= | =C-x C-q= | =i=, =C-x C-q= |
- | =evil-digit-argument-or-beginning-of-line= | n/a | =0= |
diff --git a/.config/emacs/lisp/evil-collection/modes/ivy/evil-collection-ivy.el b/.config/emacs/lisp/evil-collection/modes/ivy/evil-collection-ivy.el
deleted file mode 100644
index 95334ff..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ivy/evil-collection-ivy.el
+++ /dev/null
@@ -1,111 +0,0 @@
-;;; evil-collection-ivy.el --- Evil bindings for ivy -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, ivy, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `ivy-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'ivy nil t)
-
-(defconst evil-collection-ivy-maps '(ivy-occur-mode-map
- ivy-occur-grep-mode-map
- ivy-minibuffer-map))
-
-;;;###autoload
-(defun evil-collection-ivy-setup ()
- "Set up `evil' bindings for `ivy-mode'."
- (evil-collection-define-key nil 'ivy-minibuffer-map
- (kbd "<escape>") 'minibuffer-keyboard-quit)
- (evil-collection-define-key 'normal 'ivy-occur-mode-map
- [mouse-1] 'ivy-occur-click
- (kbd "RET") 'ivy-occur-press-and-switch
- "j" 'ivy-occur-next-line
- "k" 'ivy-occur-previous-line
- "h" 'evil-backward-char
- "l" 'evil-forward-char
- "g" nil
- "gg" 'evil-goto-first-line
- "gf" 'ivy-occur-press
- "ga" 'ivy-occur-read-action
- "go" 'ivy-occur-dispatch
- "gc" 'ivy-occur-toggle-calling
-
- ;; refresh
- "gr" 'ivy-occur-revert-buffer
-
- ;; quit
- "q" 'quit-window)
-
- (when evil-want-C-d-scroll
- (evil-collection-define-key 'normal 'ivy-occur-grep-mode-map
- "D" 'ivy-occur-delete-candidate
- (kbd "C-d") 'evil-scroll-down))
-
- (evil-collection-define-key 'visual 'ivy-occur-grep-mode-map
- "j" 'evil-next-line
- "k" 'evil-previous-line)
-
- (evil-collection-define-key 'normal 'ivy-occur-grep-mode-map
- "d" 'ivy-occur-delete-candidate
- (kbd "C-x C-q") 'ivy-wgrep-change-to-wgrep-mode
- "i" 'ivy-wgrep-change-to-wgrep-mode
- "gd" 'ivy-occur-delete-candidate
- [mouse-1] 'ivy-occur-click
- (kbd "RET") 'ivy-occur-press-and-switch
- "j" 'ivy-occur-next-line
- "k" 'ivy-occur-previous-line
- "h" 'evil-backward-char
- "l" 'evil-forward-char
- "g" nil
- "gg" 'evil-goto-first-line
- "gf" 'ivy-occur-press
- "gr" 'ivy-occur-revert-buffer
- "ga" 'ivy-occur-read-action
- "go" 'ivy-occur-dispatch
- "gc" 'ivy-occur-toggle-calling
-
- "0" 'evil-digit-argument-or-evil-beginning-of-line
-
- ;; quit
- "q" 'quit-window)
-
- (defvar evil-collection-setup-minibuffer)
- (when evil-collection-setup-minibuffer
- (evil-collection-define-key 'normal 'ivy-minibuffer-map
- (kbd "<escape>") 'abort-recursive-edit
- (kbd "RET") 'exit-minibuffer
- (kbd "C-m") 'ivy-done
- "j" 'ivy-next-line
- "k" 'ivy-previous-line)
-
- (evil-collection-define-key 'insert 'ivy-minibuffer-map
- (kbd "DEL") 'ivy-backward-delete-char
- (kbd "C-r") 'ivy-reverse-i-search
- (kbd "C-n") 'ivy-next-line
- (kbd "C-p") 'ivy-previous-line)))
-
-(provide 'evil-collection-ivy)
-;;; evil-collection-ivy.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/js2-mode/README.org b/.config/emacs/lisp/evil-collection/modes/js2-mode/README.org
deleted file mode 100644
index 3639801..0000000
--- a/.config/emacs/lisp/evil-collection/modes/js2-mode/README.org
+++ /dev/null
@@ -1,12 +0,0 @@
-* js2-mode
-
- Evil compatibility for [[https://github.com/mooz/js2-mode][js2-mode]]. No key bindings.
-
- Adds a hook to =js2-mode-hook= and =js2-jsx-mode-hook= that sets the
- buffer-local =evil-shift-width= to match =js-indent-level=, so =>>= and
- =<<= indent by the same amount js2-mode does.
-
-** New commands
-
- - =evil-collection-js2-set-evil-shift-width= - Sync =evil-shift-width=
- with =js-indent-level= in the current buffer.
diff --git a/.config/emacs/lisp/evil-collection/modes/js2-mode/evil-collection-js2-mode.el b/.config/emacs/lisp/evil-collection/modes/js2-mode/evil-collection-js2-mode.el
deleted file mode 100644
index fe29237..0000000
--- a/.config/emacs/lisp/evil-collection/modes/js2-mode/evil-collection-js2-mode.el
+++ /dev/null
@@ -1,46 +0,0 @@
-;;; evil-collection-js2-mode.el --- Bindings for `js2-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `js2-mode'
-
-;;; Code:
-(require 'evil-collection)
-(require 'js2-mode nil t)
-
-(defvar js-indent-level)
-
-(defun evil-collection-js2-set-evil-shift-width ()
- "Set `evil-shift-width' according to `js-indent-level'."
- (setq-local evil-shift-width js-indent-level))
-
-;;;###autoload
-(defun evil-collection-js2-mode-setup ()
- "Set up `evil' bindings for `js2-mode'."
- (add-hook 'js2-mode-hook #'evil-collection-js2-set-evil-shift-width)
- (add-hook 'js2-jsx-mode-hook #'evil-collection-js2-set-evil-shift-width))
-
-(provide 'evil-collection-js2-mode)
-;;; evil-collection-js2-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/kmacro/README.org b/.config/emacs/lisp/evil-collection/modes/kmacro/README.org
deleted file mode 100644
index 5c05d82..0000000
--- a/.config/emacs/lisp/evil-collection/modes/kmacro/README.org
+++ /dev/null
@@ -1,22 +0,0 @@
-* kmacro
-
- Evil bindings for the [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macros.html][kmacro]] menu.
-
-** Key bindings
-
- Bindings applied to =kmacro-menu-mode-map=. Initial state is normal.
-
- | Command | Original | Evil |
- |---------------------------------+----------+-------|
- | =kmacro-menu-edit-column= | =RET= | =RET= |
- | =kmacro-menu-edit-position= | =#= | =#= |
- | =kmacro-menu-edit-counter= | =c= | =c= |
- | =kmacro-menu-edit-format= | =f= | =f= |
- | =kmacro-menu-edit-keys= | =e= | =e= |
- | =kmacro-menu-flag-for-deletion= | =d= | =d= |
- | =kmacro-menu-mark= | =m= | =m= |
- | =kmacro-menu-unmark= | =u= | =u= |
- | =kmacro-menu-unmark-all= | =U= | =U= |
- | =kmacro-menu-do-flagged-delete= | =x= | =x= |
- | =kmacro-menu-do-copy= | =C= | =C= |
- | =kmacro-menu-do-delete= | =D= | =D= |
diff --git a/.config/emacs/lisp/evil-collection/modes/kmacro/evil-collection-kmacro.el b/.config/emacs/lisp/evil-collection/modes/kmacro/evil-collection-kmacro.el
deleted file mode 100644
index b7c7aff..0000000
--- a/.config/emacs/lisp/evil-collection/modes/kmacro/evil-collection-kmacro.el
+++ /dev/null
@@ -1,58 +0,0 @@
-;;; evil-collection-kmacro.el --- Evil bindings for kmacro menu -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "30"))
-;; Keywords: evil, kmacro, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for kmacro menu.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'kmacro)
-
-(defconst evil-collection-kmacro-maps '(kmacro-menu-mode-map))
-
-(defun evil-collection-kmacro-setup ()
- "Set up `evil' bindings to `tab-bar'."
- (evil-set-initial-state 'kmacro-menu-mode 'normal)
- (evil-collection-define-key 'normal 'kmacro-menu-mode-map
- ;; Edit
- (kbd "RET") 'kmacro-menu-edit-column
- "#" 'kmacro-menu-edit-position
- "c" 'kmacro-menu-edit-counter
- "f" 'kmacro-menu-edit-format
- "e" 'kmacro-menu-edit-keys
-
- ;; Mark
- "d" 'kmacro-menu-flag-for-deletion
- "m" 'kmacro-menu-mark
- "u" 'kmacro-menu-unmark
- "U" 'kmacro-menu-unmark-all
-
- "x" 'kmacro-menu-do-flagged-delete
- "C" 'kmacro-menu-do-copy
- "D" 'kmacro-menu-do-delete))
-
-(provide 'evil-collection-kmacro)
-;;; evil-collection-kmacro.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/kotlin-mode/evil-collection-kotlin-mode.el b/.config/emacs/lisp/evil-collection/modes/kotlin-mode/evil-collection-kotlin-mode.el
deleted file mode 100644
index 8d8d454..0000000
--- a/.config/emacs/lisp/evil-collection/modes/kotlin-mode/evil-collection-kotlin-mode.el
+++ /dev/null
@@ -1,42 +0,0 @@
-;;; evil-collection-kotlin-mode.el --- Bindings for `kotlin-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `kotlin-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'kotlin-mode nil t)
-
-(defconst evil-collection-kotlin-maps '(kotlin-mode-map))
-
-;;;###autoload
-(defun evil-collection-kotlin-mode-setup ()
- "Set up `evil' bindings for `kotlin-mode'."
- (evil-collection-define-key 'normal 'kotlin-mode-map
- "gz" 'kotlin-repl))
-
-(provide 'evil-collection-kotlin-mode)
-;;; evil-collection-kotlin-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/leetcode/evil-collection-leetcode.el b/.config/emacs/lisp/evil-collection/modes/leetcode/evil-collection-leetcode.el
deleted file mode 100644
index e198f63..0000000
--- a/.config/emacs/lisp/evil-collection/modes/leetcode/evil-collection-leetcode.el
+++ /dev/null
@@ -1,46 +0,0 @@
-;;; evil-collection-leetcode.el --- Bindings for `leetcode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `leetcode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'leetcode nil t)
-
-(defconst evil-collection-leetcode-maps
- '(leetcode--problems-mode-map
- leetcode--problem-description-mode-map))
-
-;;;###autoload
-(defun evil-collection-leetcode-setup ()
- "Set up `evil' bindings for `leetcode'."
- (evil-collection-define-key 'normal 'leetcode--problems-mode-map
- (kbd "RET") 'leetcode-show-current-problem
- "gr" 'leetcode-problems-refresh
- "q" 'quit-window))
-
-(provide 'evil-collection-leetcode)
-;;; evil-collection-leetcode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/lispy/README.org b/.config/emacs/lisp/evil-collection/modes/lispy/README.org
deleted file mode 100644
index 1123fc2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/lispy/README.org
+++ /dev/null
@@ -1,140 +0,0 @@
-* lispy
-
- Evil bindings for [[https://github.com/abo-abo/lispy][lispy]], the short-key mode for editing s-expressions.
-
- Installs two additional themes into =lispy-set-key-theme=: ='special-evil'
- and ='evil'. The setup function applies both, advising
- =lispy-set-key-theme= so the original themes (=special=, =paredit=, etc.)
- are bypassed in favour of the evil-flavored variants.
-
-** Key bindings
-
-*** Special state (point on a paren)
-
- Lispy's "special" state is rebound to mirror vim motions. Keys come from
- =evil-collection-lispy-mode-map-special=.
-
- | Command | Original (lispy) | Evil |
- |-----------------------------------------------------+------------------+----------|
- | =lispy-right= | =l= | =l= |
- | =lispy-left= | =h= | =h= |
- | =lispy-down= | =j= | =j= |
- | =lispy-up= | =k= | =k= |
- | =lispy-different= | =o= | =o= |
- | =lispy-ace-paren= | =f= | =f= |
- | =lispy-flow= | =n= | =n= |
- | =lispy-ace-char= | =t= | =t= |
- | =lispy-teleport= | =T= | =T= |
- | =lispy-new-copy= | =y= | =y= |
- | =lispy-paste= | =P= | =p= |
- | =lispy-eval-other-window= | =P= | =P= |
- | =lispy-mark-list= | =v= | =v= |
- | =lispy-view= | =V= | =z= |
- | =lispy-x= | =x= | =q= |
- | =lispy-other-mode= | =Q= | =Q= |
- | =lispy-occur= | =/= | =/= |
- | =lispy-splice= | =/= | =x= |
- | =lispy-comment= | =;= | =;= |
- | =evil-collection-lispy-delete= | n/a | =d= |
- | =lispy-join= | =+= | =+=, =J= |
- | =lispy-describe= | =h= | =K= |
- | =lispy-outline-goto-child= | =L= | =L= |
- | =lispy-slurp-or-barf-right= | =>= | =>= |
- | =lispy-slurp-or-barf-left= | =<= | =<= |
- | =lispy-raise= | =r= | =r= |
- | =lispy-raise-some= | =R= | =R= |
- | =lispy-convolute= | =C= | =C= |
- | =lispy-convolute-left= | =X= | =X= |
- | =lispy-move-up= | =w= | =w= |
- | =lispy-move-down= | =s= | =s= |
- | =lispy-oneline= | =O= | =O= |
- | =lispy-alt-multiline= | =M= | =M= |
- | =lispy-stringify= | =S= | =S= |
- | =lispy-ace-symbol= | =a= | =a= |
- | =lispy-ace-symbol-replace= | =H= | =H= |
- | =lispy-eval= | =e= | =e= |
- | =lispy-eval-and-insert= | =E= | =E= |
- | =end-of-defun= | n/a | =G= |
- | =g-knight/body= | n/a | =g= |
- | =evil-collection-lispy-insert-at-end-of-list= | n/a | =A= |
- | =evil-collection-lispy-insert-at-beginning-of-list= | n/a | =I= |
- | =lispy-follow= | =F= | =F= |
- | =pop-tag-mark= | =D= | =D= |
- | =lispy-underscore= | =_= | =_= |
- | =lispy-space= | =SPC= | =SPC= |
- | =lispy-tab-hydra/body= | n/a | =TAB= |
- | =lispy-narrow= | =N= | =N= |
- | =lispy-widen= | =W= | =W= |
- | =lispy-clone= | =c= | =c= |
- | =lispy-undo= | =u= | =u= |
- | =lispy-back= | =b= | =b= |
- | =lispy-ediff-regions= | =B= | =B= |
- | =lispy-edebug-stop= | =Z= | =Z= |
- | =lispy-visit= | =V= | =V= |
- | =lispy-ace-subword= | =-= | =-= |
- | =lispy-repeat= | =.= | =.= |
- | =lispy-tilde= | =~= | =~= |
- | =lispy-forward= | =]= | =]= |
- | =lispy-backward= | =[= | =[= |
- | =lispy-brackets= | ={= | ={= |
- | =lispy-outline-next= | =J= | =C-J= |
- | =lispy-outline-prev= | =K= | =C-K= |
- | =lispy-splice-sexp-killing-backward= | =^= | =^= |
- | =lispy-splice-sexp-killing-forward= | =$= | =$= |
- | =lispy-move-down= | =M-j= | =M-j= |
- | =lispy-move-up= | =M-k= | =M-k= |
-
-*** Evil normal state
-
- These bindings live in =evil-collection-lispy-mode-map= and are active in
- evil normal state.
-
- | Command | Original | Evil |
- |--------------------------------------+------------+--------------|
- | =lispy-left= | =C-M-u= | =M-n= |
- | =lispy-kill-word= | =M-d= | =M-d= |
- | =lispy-backward-kill-word= | =M-DEL= | =M-DEL= |
- | =lispy-parens= | =(= | =(= |
- | =lispy-comment= | =;= | =;= |
- | =lispy-goto-symbol= | =M-.= | =gd= |
- | =pop-tag-mark= | =M-,= | =C-t= |
- | =lispy-wrap-round= | =M-(= | =M-(=, =M-)= |
- | =lispy-wrap-braces= | =M-{= | =M-{=, =M-}= |
- | =lispy-splice= | =M-s= | =M-s= |
- | =lispy-splice-sexp-killing-backward= | =M-<up>= | =M-<up>= |
- | =lispy-splice-sexp-killing-forward= | =M-<down>= | =M-<down>= |
- | =lispy-raise-sexp= | =M-r= | =M-r= |
- | =lispy-raise-some= | =M-R= | =M-R= |
- | =lispy-convolute-sexp= | =M-C= | =M-C= |
- | =lispy-split= | =M-S= | =M-S= |
- | =lispy-join= | =M-J= | =M-J= |
- | =lispy-forward= | =C-M-n= | =]= |
- | =lispy-backward= | =C-M-p= | =[= |
- | =lispy-slurp-or-barf-left= | n/a | =<= |
- | =lispy-slurp-or-barf-right= | n/a | =>= |
- | =lispy-new-copy= | =M-y= | =M-y= |
- | =lispy-open-line= | =C-RET= | =C-RET= |
- | =lispy-meta-return= | =M-RET= | =M-RET= |
- | =lispy-move-up= | =M-k= | =M-k= |
- | =lispy-move-down= | =M-j= | =M-j= |
- | =lispy-string-oneline= | =M-o= | =M-o= |
- | =lispy-clone= | =M-p= | =M-p= |
- | =evil-collection-lispy-delete= | n/a | =M-d= |
-
-** New commands
-
- | Command | Notes |
- |-----------------------------------------------------+--------------------------------------------------|
- | =evil-collection-lispy-insert-at-beginning-of-list= | Enter insert/emacs state at start of list (=I=). |
- | =evil-collection-lispy-insert-at-end-of-list= | Enter insert/emacs state at end of list (=A=). |
- | =evil-collection-lispy-delete= | Copy and delete the current sexp. |
- | =evil-collection-lispy-action-then-next-sexp= | Helper to wrap a lispy action with =lispy-down=. |
- | =evil-collection-lispy--out-forward= | Helper around =lispy--out-forward=. |
- | =evil-collection-lispy-set-key-theme= | Replacement for =lispy-set-key-theme= adding the |
- | | ='special-evil' and ='evil' themes. |
-
-** Customization
-
- - =evil-collection-lispy-preferred-lispy-state= - The evil state
- (=insert= or =emacs=) entered by =A= and =I= for using lispy. Defaults
- to =insert=.
diff --git a/.config/emacs/lisp/evil-collection/modes/lispy/evil-collection-lispy.el b/.config/emacs/lisp/evil-collection/modes/lispy/evil-collection-lispy.el
deleted file mode 100644
index 895137e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/lispy/evil-collection-lispy.el
+++ /dev/null
@@ -1,659 +0,0 @@
-;;; evil-collection-lispy.el --- Evil Bindings for Lispy -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, lispy, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `lispy-mode'.
-
-;;; Code:
-(require 'lispy nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-lispy-maps '(lispy-mode-map
- evil-collection-lispy-mode-map))
-
-(defvar lispy-mode-map-base)
-(defvar lispy-mode-map-special)
-(defvar lispy-mode-map-lispy)
-(defvar lispy-mode-map-paredit)
-(defvar lispy-mode-map-parinfer)
-(defvar lispy-mode-map-evilcp)
-(defvar lispy-mode-map-c-digits)
-(defvar lispy-mode-map-oleh)
-(defvar lispy-mode-map)
-(defvar lispy-outline)
-(defvar lispy-outline-header)
-(defvar hydra-curr-body-fn)
-
-(declare-function lispy--out-backward "lispy")
-(declare-function lispy--out-forward "lispy")
-(declare-function hydra-default-pre "lispy")
-(declare-function hydra-keyboard-quit "lispy")
-(declare-function hydra--call-interactively-remap-maybe "lispy")
-(declare-function lispy-knight-down "lispy")
-(declare-function lispy-knight-up "lispy")
-(declare-function lispy-beginning-of-defun "lispy")
-(declare-function lispy-goto "lispy")
-(declare-function lispy-goto-local "lispy")
-(declare-function hydra-idle-message "lispy")
-(declare-function hydra-set-transient-map "lispy")
-(declare-function lispy-tab "lispy")
-(declare-function lispy-shifttab "lispy")
-(declare-function lispy-left-p "lispy")
-(declare-function lispy-right-p "lispy")
-(declare-function lispy-bolp "lispy")
-(declare-function lispy-down "lispy")
-(declare-function lispy-new-copy "lispy")
-(declare-function lispy-delete "lispy")
-(declare-function lispy-delete-backward "lispy")
-(declare-function lispy-define-key "lispy")
-(declare-function lispy-set-key-theme "lispy")
-
-;; ------------------------------- LISPYVILLE ----------------------------------
-;; Copied from `lispyville'.
-;; -> `lispyville-preferred-lispy-state'
-(defcustom evil-collection-lispy-preferred-lispy-state 'insert
- "The preferred evil state for insertion and using lispy.
-This is used by any command that should enter special to determine the correct
-state."
- :type '(choice
- (const :tag "Use insert state to get into special." insert)
- (const :tag "Use emacs state to get into special." emacs))
- :group 'evil-collection)
-
-;; -> `lispyville-insert-at-beginning-of-list'
-(evil-define-command evil-collection-lispy-insert-at-beginning-of-list (count)
- "Enter `evil-collection-lispy-preferred-lispy-state' at the start of the list.
-
-With COUNT, move backward/out COUNT lists first. This is the
-lispyville equivalent of `evil-cp-insert-at-beginning-of-form' except for lists
-only."
- (interactive "<c>")
- (when (lispy--out-backward (or count 1))
- (forward-char)
- (evil-change-state evil-collection-lispy-preferred-lispy-state)))
-
-;; -> `lispyville-insert-at-end-of-list'
-(evil-define-command evil-collection-lispy-insert-at-end-of-list (count)
- "Enter `lispyville-preferred-state' at the end of the list.
-With COUNT, move forward/out COUNT lists first. This is the lispyville
-equivalent of `evil-cp-insert-at-end-of-form' except for lists only."
- (interactive "<c>")
- (when (evil-collection-lispy--out-forward (or count 1))
- (backward-char)
- (evil-change-state evil-collection-lispy-preferred-lispy-state)))
-
-;; -> `lispyville--out-forward'
-(defun evil-collection-lispy--out-forward (count)
- "Like `lispyville--out-forward' but don't return nil if move at least once.
-COUNT is passed to `lispy--out-forward'."
- (let ((orig-pos (point)))
- (lispy--out-forward count)
- (not (= (point) orig-pos))))
-
-;; ------------------------------- LISPYVILLE ----------------------------------
-
-;; ------------------------------- HYDRA ---------------------------------------
-(when (featurep 'hydra)
- ;; (defhydra g-knight (:color blue :hint nil :idle .3 :columns 3)
- ;; "g knight"
- ;; ("j" lispy-knight-down "Down")
- ;; ("k" lispy-knight-up "Up")
- ;; ("g" lispy-beginning-of-defun "Beginning")
- ;; ("d" lispy-goto "Goto")
- ;; ("l" lispy-goto-local "Goto Local"))
-
- ;; Macroexpanded from g-knight hydra.
- (progn
- (set
- (defvar g-knight/params nil "Params of g-knight.")
- '(nil nil :columns 3 :exit t :foreign-keys nil :hint nil :idle 0.3))
- (set
- (defvar g-knight/docstring nil "Docstring of g-knight.")
- "g knight")
- (set
- (defvar g-knight/heads nil "Heads for g-knight.")
- '(("j" lispy-knight-down "Down" :exit t)
- ("k" lispy-knight-up "Up" :exit t)
- ("g" lispy-beginning-of-defun "Beginning" :exit t)
- ("d" lispy-goto "Goto" :exit t)
- ("l" lispy-goto-local "Goto Local" :exit t)))
- (set
- (defvar g-knight/keymap nil "Keymap for g-knight.")
- '(keymap
- (108 . g-knight/lispy-goto-local-and-exit)
- (100 . g-knight/lispy-goto-and-exit)
- (103 . g-knight/lispy-beginning-of-defun-and-exit)
- (107 . g-knight/lispy-knight-up-and-exit)
- (106 . g-knight/lispy-knight-down-and-exit)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra--digit-argument)
- (48 . hydra--digit-argument)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument)))
- (set
- (defvar g-knight/hint nil "Dynamic hint for g-knight.")
- '(format
- #("g knight:
-j: Down k: Up g: Beginning
-d: Goto l: Goto Local" 10 11
-(face hydra-face-blue)
-24 25
-(face hydra-face-blue)
-38 39
-(face hydra-face-blue)
-51 52
-(face hydra-face-blue)
-65 66
-(face hydra-face-blue))))
- (defun g-knight/lispy-knight-down-and-exit nil "Call the head `lispy-knight-down' in the \"g-knight\" hydra.
-
-The heads for the associated hydra are:
-
-\"j\": `lispy-knight-down',
-\"k\": `lispy-knight-up',
-\"g\": `lispy-beginning-of-defun',
-\"d\": `lispy-goto',
-\"l\": `lispy-goto-local'
-
-The body can be accessed via `g-knight/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'g-knight/body)
- (progn
- (setq this-command 'lispy-knight-down)
- (hydra--call-interactively-remap-maybe
- (function lispy-knight-down))))
- (defun g-knight/lispy-knight-up-and-exit nil "Call the head `lispy-knight-up' in the \"g-knight\" hydra.
-
-The heads for the associated hydra are:
-
-\"j\": `lispy-knight-down',
-\"k\": `lispy-knight-up',
-\"g\": `lispy-beginning-of-defun',
-\"d\": `lispy-goto',
-\"l\": `lispy-goto-local'
-
-The body can be accessed via `g-knight/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'g-knight/body)
- (progn
- (setq this-command 'lispy-knight-up)
- (hydra--call-interactively-remap-maybe
- (function lispy-knight-up))))
- (defun g-knight/lispy-beginning-of-defun-and-exit nil "Call the head `lispy-beginning-of-defun' in the \"g-knight\" hydra.
-
-The heads for the associated hydra are:
-
-\"j\": `lispy-knight-down',
-\"k\": `lispy-knight-up',
-\"g\": `lispy-beginning-of-defun',
-\"d\": `lispy-goto',
-\"l\": `lispy-goto-local'
-
-The body can be accessed via `g-knight/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'g-knight/body)
- (progn
- (setq this-command 'lispy-beginning-of-defun)
- (hydra--call-interactively-remap-maybe
- (function lispy-beginning-of-defun))))
- (defun g-knight/lispy-goto-and-exit nil "Call the head `lispy-goto' in the \"g-knight\" hydra.
-
-The heads for the associated hydra are:
-
-\"j\": `lispy-knight-down',
-\"k\": `lispy-knight-up',
-\"g\": `lispy-beginning-of-defun',
-\"d\": `lispy-goto',
-\"l\": `lispy-goto-local'
-
-The body can be accessed via `g-knight/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'g-knight/body)
- (progn
- (setq this-command 'lispy-goto)
- (hydra--call-interactively-remap-maybe
- (function lispy-goto))))
- (defun g-knight/lispy-goto-local-and-exit nil "Call the head `lispy-goto-local' in the \"g-knight\" hydra.
-
-The heads for the associated hydra are:
-
-\"j\": `lispy-knight-down',
-\"k\": `lispy-knight-up',
-\"g\": `lispy-beginning-of-defun',
-\"d\": `lispy-goto',
-\"l\": `lispy-goto-local'
-
-The body can be accessed via `g-knight/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'g-knight/body)
- (progn
- (setq this-command 'lispy-goto-local)
- (hydra--call-interactively-remap-maybe
- (function lispy-goto-local))))
- (defun g-knight/body nil "Call the body in the \"g-knight\" hydra.
-
-The heads for the associated hydra are:
-
-\"j\": `lispy-knight-down',
-\"k\": `lispy-knight-up',
-\"g\": `lispy-beginning-of-defun',
-\"d\": `lispy-goto',
-\"l\": `lispy-goto-local'
-
-The body can be accessed via `g-knight/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (let
- ((hydra--ignore nil))
- ;; Unfortunate, but this ignore has to be manually placed here
- ;; after macroexpanding.
- (ignore hydra--ignore)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'g-knight/body))
- (hydra-idle-message 0.3 g-knight/hint 'g-knight)
- (hydra-set-transient-map g-knight/keymap
- (lambda nil
- (hydra-keyboard-quit)
- nil)
- nil)
- (setq prefix-arg current-prefix-arg)))
-
- ;; (defhydra lispy-tab-hydra (:color blue :hint nil :idle .3)
- ;; "Tab"
- ;; ("i" lispy-tab "Tab")
- ;; ("s" lispy-shifttab "Shifttab"))
-
- ;; Macroexpanded from lispy-tab-hydra.
- (progn
- (set
- (defvar lispy-tab-hydra/params nil "Params of lispy-tab-hydra.")
- '(nil nil :exit t :foreign-keys nil :hint nil :idle 0.3))
- (set
- (defvar lispy-tab-hydra/docstring nil "Docstring of lispy-tab-hydra.")
- "Tab")
- (set
- (defvar lispy-tab-hydra/heads nil "Heads for lispy-tab-hydra.")
- '(("i" lispy-tab "Tab" :exit t)
- ("s" lispy-shifttab "Shifttab" :exit t)))
- (set
- (defvar lispy-tab-hydra/keymap nil "Keymap for lispy-tab-hydra.")
- '(keymap
- (115 . lispy-tab-hydra/lispy-shifttab-and-exit)
- (105 . lispy-tab-hydra/lispy-tab-and-exit)
- (kp-subtract . hydra--negative-argument)
- (kp-9 . hydra--digit-argument)
- (kp-8 . hydra--digit-argument)
- (kp-7 . hydra--digit-argument)
- (kp-6 . hydra--digit-argument)
- (kp-5 . hydra--digit-argument)
- (kp-4 . hydra--digit-argument)
- (kp-3 . hydra--digit-argument)
- (kp-2 . hydra--digit-argument)
- (kp-1 . hydra--digit-argument)
- (kp-0 . hydra--digit-argument)
- (57 . hydra--digit-argument)
- (56 . hydra--digit-argument)
- (55 . hydra--digit-argument)
- (54 . hydra--digit-argument)
- (53 . hydra--digit-argument)
- (52 . hydra--digit-argument)
- (51 . hydra--digit-argument)
- (50 . hydra--digit-argument)
- (49 . hydra--digit-argument)
- (48 . hydra--digit-argument)
- (45 . hydra--negative-argument)
- (21 . hydra--universal-argument)))
- (set
- (defvar lispy-tab-hydra/hint nil "Dynamic hint for lispy-tab-hydra.")
- '(format
- #("Tab: [i]: Tab, [s]: Shifttab." 6 7
- (face hydra-face-blue)
- 16 17
- (face hydra-face-blue))))
- (defun lispy-tab-hydra/lispy-tab-and-exit nil "Call the head `lispy-tab' in the \"lispy-tab-hydra\" hydra.
-
-The heads for the associated hydra are:
-
-\"i\": `lispy-tab',
-\"s\": `lispy-shifttab'
-
-The body can be accessed via `lispy-tab-hydra/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'lispy-tab-hydra/body)
- (progn
- (setq this-command 'lispy-tab)
- (hydra--call-interactively-remap-maybe
- (function lispy-tab))))
- (defun lispy-tab-hydra/lispy-shifttab-and-exit nil "Call the head `lispy-shifttab' in the \"lispy-tab-hydra\" hydra.
-
-The heads for the associated hydra are:
-
-\"i\": `lispy-tab',
-\"s\": `lispy-shifttab'
-
-The body can be accessed via `lispy-tab-hydra/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'lispy-tab-hydra/body)
- (progn
- (setq this-command 'lispy-shifttab)
- (hydra--call-interactively-remap-maybe
- (function lispy-shifttab))))
- (defun lispy-tab-hydra/body nil "Call the body in the \"lispy-tab-hydra\" hydra.
-
-The heads for the associated hydra are:
-
-\"i\": `lispy-tab',
-\"s\": `lispy-shifttab'
-
-The body can be accessed via `lispy-tab-hydra/body'."
- (interactive)
- (require 'hydra)
- (hydra-default-pre)
- (let
- ((hydra--ignore nil))
- ;; Unfortunate, but this ignore has to be manually placed here
- ;; after macroexpanding.
- (ignore hydra--ignore)
- (hydra-keyboard-quit)
- (setq hydra-curr-body-fn 'lispy-tab-hydra/body))
- (hydra-idle-message 0.3 lispy-tab-hydra/hint 'lispy-tab-hydra)
- (hydra-set-transient-map lispy-tab-hydra/keymap
- (lambda nil
- (hydra-keyboard-quit)
- nil)
- nil)
- (setq prefix-arg current-prefix-arg))))
-
-;; ------------------------------- HYDRA ---------------------------------------
-
-(defun evil-collection-lispy-action-then-next-sexp (lispy-action)
- "Return function that triggers LISPY-ACTION and then moves to next sexp."
- (defalias (intern (format "%S-then-next-sexp" lispy-action))
- (lambda ()
- (interactive)
- (call-interactively lispy-action)
- (unless (or (lispy-left-p)
- (lispy-right-p)
- (and (lispy-bolp)
- (or (looking-at lispy-outline-header)
- (looking-at lispy-outline))))
- (call-interactively #'lispy-down)))))
-
-(defun evil-collection-lispy-delete (arg)
- "Copy and delete current sexp.
-Passes ARG to `lispy-delete' or `lispy-delete-back'.
-
-Copy of `noc:lispy-delete'."
- (interactive "p")
- (cond ((or (lispy-left-p)
- (region-active-p))
- (lispy-new-copy)
- (lispy-delete arg))
- ((lispy-right-p)
- (lispy-new-copy)
- (lispy-delete-backward arg))))
-
-(defvar evil-collection-lispy-mode-map-special
- (let ((map (make-sparse-keymap)))
- (lispy-define-key map
- ";" (evil-collection-lispy-action-then-next-sexp
- 'lispy-comment))
-
- ;; navigation
- (lispy-define-key map "l" 'lispy-right)
- (lispy-define-key map "h" 'lispy-left)
- (lispy-define-key map "f" 'lispy-ace-paren
- :override '(cond ((bound-and-true-p view-mode)
- (View-quit)))) ;; `lispy-flow' -> w
- (lispy-define-key map "j" 'lispy-down)
- (lispy-define-key map "k" 'lispy-up)
-
- (lispy-define-key map
- "d" (evil-collection-lispy-action-then-next-sexp
- 'evil-collection-lispy-delete)) ;; `lispy-different' -> o
-
- (lispy-define-key map "o" 'lispy-different) ;; `lispy-other-mode' -> Q
- (lispy-define-key map "p" 'lispy-paste) ;; `lispy-eval-other-window' -> P
- (lispy-define-key map "P" 'lispy-eval-other-window) ;; `lispy-paste' -> p
- (lispy-define-key map "y" 'lispy-new-copy) ;; `lispy-occur' -> /
- (lispy-define-key map "z" 'lispy-view) ;; `lispy-mark-list' -> v
-
- ;; outline
- (lispy-define-key map "J" 'lispy-join) ;; `lispy-outline-next'
- (lispy-define-key map "K" 'lispy-describe) ;; `lispy-outline-prev'
- (lispy-define-key map "L" 'lispy-outline-goto-child)
-
- ;; Paredit transformations
- (lispy-define-key map ">" 'lispy-slurp-or-barf-right) ;; `lispy-slurp'
- (lispy-define-key map "<" 'lispy-slurp-or-barf-left) ;; `lispy-barf'
-
- ;; FIXME: This doesn't work for me for some reason...
- (lispy-define-key map "/" 'lispy-occur) ;; `lispy-x' -> q
-
- (lispy-define-key map "r" 'lispy-raise)
- (lispy-define-key map "R" 'lispy-raise-some)
-
- (lispy-define-key map "+" 'lispy-join) ;; Hmnn this can be something else.
-
- ;; more transformations
- (lispy-define-key map "C" 'lispy-convolute)
- (lispy-define-key map "X" 'lispy-convolute-left)
- (lispy-define-key map "w" 'lispy-move-up)
- (lispy-define-key map "s" 'lispy-move-down)
- (lispy-define-key map "O" 'lispy-oneline)
- (lispy-define-key map "M" 'lispy-alt-multiline)
- (lispy-define-key map "S" 'lispy-stringify)
-
- ;; marking
- (lispy-define-key map "a" 'lispy-ace-symbol
- :override '(cond ((looking-at lispy-outline)
- (lispy-meta-return))))
- (lispy-define-key map "H" 'lispy-ace-symbol-replace)
-
- ;; dialect-specific
- (lispy-define-key map "e" 'lispy-eval)
- (lispy-define-key map "E" 'lispy-eval-and-insert)
-
- ;; Hmnn, not sure why there's no `lispy-end-of-defun'.
- ;; `end-of-defun' doesn't work quite right yet. It exits the list
- ;; which would exit lispy state.
- (lispy-define-key map "G" 'end-of-defun) ;; `lispy-goto-local' -> gl
- (lispy-define-key map "g" 'g-knight/body) ;; `lispy-goto' -> gd
-
- (lispy-define-key map "A" 'evil-collection-lispy-insert-at-end-of-list) ;; `lispy-beginning-of-defun' -> gg
- (lispy-define-key map "I" 'evil-collection-lispy-insert-at-beginning-of-list) ;; `lispy-shifttab' -> zs
-
- (lispy-define-key map "F" 'lispy-follow t)
- (lispy-define-key map "D" 'pop-tag-mark)
- (lispy-define-key map "_" 'lispy-underscore)
-
- ;; miscellanea
- (define-key map (kbd "SPC") 'lispy-space)
- (lispy-define-key map "TAB" 'lispy-tab-hydra/body) ;; `lh-knight/body' -> g
-
- (lispy-define-key map "N" 'lispy-narrow)
- (lispy-define-key map "W" 'lispy-widen)
- (lispy-define-key map "c" 'lispy-clone)
- (lispy-define-key map "u" 'lispy-undo)
-
- (lispy-define-key map "q" 'lispy-x) ;; `lispy-ace-paren' -> f
- (lispy-define-key map "Q" 'lispy-other-mode) ;; `lispy-ace-char' -> t
- (lispy-define-key map "v" 'lispy-mark-list) ;; `lispy-view' -> z
- (lispy-define-key map "t" 'lispy-ace-char) ;; `lispy-teleport' -> T
- (lispy-define-key map "n" 'lispy-flow) ;; `lispy-new-copy' -> y
- (lispy-define-key map "b" 'lispy-back)
-
- (lispy-define-key map "B" 'lispy-ediff-regions)
- (lispy-define-key map "x" 'lispy-splice) ;; `lispy-x' -> q
-
- (lispy-define-key map "Z" 'lispy-edebug-stop)
- (lispy-define-key map "V" 'lispy-visit)
- (lispy-define-key map "-" 'lispy-ace-subword)
- (lispy-define-key map "." 'lispy-repeat)
- (lispy-define-key map "~" 'lispy-tilde)
- ;; digit argument
- (mapc (lambda (x) (lispy-define-key map (format "%d" x) 'digit-argument))
- (number-sequence 0 9))
-
- ;; additional
- (lispy-define-key map "T" 'lispy-teleport
- :override '(cond ((looking-at lispy-outline)
- (end-of-line))))
- (lispy-define-key map "]" 'lispy-forward)
- (lispy-define-key map "[" 'lispy-backward)
- (lispy-define-key map "{" 'lispy-brackets)
-
- ;; Experimental
- (lispy-define-key map "C-J" 'lispy-outline-next)
- (lispy-define-key map "C-K" 'lispy-outline-prev)
- (lispy-define-key map "^" 'lispy-splice-sexp-killing-backward)
- (lispy-define-key map "$" 'lispy-splice-sexp-killing-forward)
- (lispy-define-key map "M-j" 'lispy-move-down) ;; `lispy-split'
- (lispy-define-key map "M-k" 'lispy-move-up) ;; `lispy-kill-sentence'
- map)
- "`evil' flavored `lispy' bindings when in special state.")
-
-(defvar evil-collection-lispy-mode-map (make-sparse-keymap)
- "`evil' flavored `lispy-mode' bindings.")
-
-(defun evil-collection-lispy-set-key-theme (theme)
- "Set `lispy-mode-map' for according to THEME.
-THEME is a list of choices: \='special', \='lispy', \='paredit', \='evilcp',
- \='c-digits', \='special-evil', \='evil'.
-
-This is an exact copy of `lispy-set-key-theme' except with the additions of
- \='special-evil' and \='evil' themes."
- (setq lispy-mode-map
- (make-composed-keymap
- (delq nil
- (list
- (when (memq 'special-evil theme) evil-collection-lispy-mode-map-special)
- (when (memq 'evil theme) evil-collection-lispy-mode-map)
- (when (memq 'special theme) lispy-mode-map-special)
- (when (memq 'lispy theme) lispy-mode-map-lispy)
- (when (memq 'paredit theme) lispy-mode-map-paredit)
- (when (memq 'parinfer theme) lispy-mode-map-parinfer)
- (when (memq 'evilcp theme) lispy-mode-map-evilcp)
- (when (memq 'c-digits theme) lispy-mode-map-c-digits)
- (when (memq 'oleh theme) lispy-mode-map-oleh)))))
- (setcdr
- (assq 'lispy-mode minor-mode-map-alist)
- lispy-mode-map))
-
-;;;###autoload
-(defun evil-collection-lispy-setup ()
- "Set up `evil' bindings for `lispy'."
- (advice-add 'lispy-set-key-theme :override 'evil-collection-lispy-set-key-theme)
- (lispy-set-key-theme '(special-evil evil))
- (evil-collection-define-key 'normal 'evil-collection-lispy-mode-map
- ;; Instead of inheriting, explicitly define keys from `lispy-mode-map-base'.
- ;; navigation.
- ;; Commented out define-keys are from the original map that we're not using.
- ;; -- Begin Inheritance
- ;; (define-key map (kbd "C-a") 'lispy-move-beginning-of-line)
- ;; (define-key map (kbd "C-e") 'lispy-move-end-of-line)
- (kbd "M-n") 'lispy-left
- ;; killing
- ;; (define-key map (kbd "C-k") 'lispy-kill)
- (kbd "M-d") 'lispy-kill-word
- (kbd "M-DEL") 'lispy-backward-kill-word
- ;; misc
- "(" 'lispy-parens
- ";" 'lispy-comment
- ;; (kbd "M-q") 'lispy-fill
- ;; (define-key map (kbd "C-j") 'lispy-newline-and-indent)
- ;; (define-key map (kbd "RET") 'lispy-newline-and-indent-plain)
- ;; tags
- "gd" 'lispy-goto-symbol
- (kbd "C-t") 'pop-tag-mark
- ;; -- End Inheritance.
-
- (kbd "M-)") 'lispy-wrap-round
- (kbd "M-s") 'lispy-splice
- (kbd "M-<up>") 'lispy-splice-sexp-killing-backward
- (kbd "M-<down>") 'lispy-splice-sexp-killing-forward
- (kbd "M-r") 'lispy-raise-sexp
- (kbd "M-R") 'lispy-raise-some
- (kbd "M-C") 'lispy-convolute-sexp
- (kbd "M-S") 'lispy-split
- (kbd "M-J") 'lispy-join
- "]" 'lispy-forward
- "[" 'lispy-backward
- (kbd "M-(") 'lispy-wrap-round
- (kbd "M-{") 'lispy-wrap-braces
- (kbd "M-}") 'lispy-wrap-braces
- "<" 'lispy-slurp-or-barf-left
- ">" 'lispy-slurp-or-barf-right
- (kbd "M-y") 'lispy-new-copy
- (kbd "<C-return>") 'lispy-open-line
- (kbd "<M-return>") 'lispy-meta-return
- (kbd "M-k") 'lispy-move-up
- (kbd "M-j") 'lispy-move-down
- (kbd "M-o") 'lispy-string-oneline
- (kbd "M-p") 'lispy-clone
- (kbd "M-d") 'evil-collection-lispy-delete))
-
-(provide 'evil-collection-lispy)
-;;; evil-collection-lispy.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/lms/evil-collection-lms.el b/.config/emacs/lisp/evil-collection/modes/lms/evil-collection-lms.el
deleted file mode 100644
index 19ebf37..0000000
--- a/.config/emacs/lisp/evil-collection/modes/lms/evil-collection-lms.el
+++ /dev/null
@@ -1,404 +0,0 @@
-;;; evil-collection-lms.el --- Evil bindings for lms.el -*- lexical-binding: t -*-
-;; Copyright (C) 2021-2023 Edgar Vincent
-
-;; Author: Edgar Vincent <e-v@posteo.net>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "25.1"))
-;; Keywords: evil, multimedia, music, logitechmediaserver, squeezebox
-
-;; This file is not part of GNU Emacs.
-;;
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for lms.el.
-;;
-;;; Code:
-(require 'lms nil t)
-(require 'evil-collection)
-
-(defvar lms-ui-docs)
-(defvar lms-ui-playing-now-mode-map)
-(defvar lms-ui-players-mode-map)
-(defvar lms-ui-playlist-mode-map)
-(defvar lms-ui-track-info-mode-map)
-(defvar lms-ui-tracks-list-mode-map)
-(defvar lms--ui-editing-p)
-(defvar lms--ui-pl-tracks)
-
-(declare-function lms-ui-playing-now-refresh "lms")
-
-(defconst evil-collection-lms-maps '(lms-ui-players-mode-map
- lms-ui-playing-now-mode-map
- lms-ui-playlist-mode-map
- lms-ui-track-info-mode-map
- lms-ui-tracks-list-mode-map
- lms-ui-year-album-artist-list-mode-map))
-
-(defconst evil-collection-lms-modes '(lms-players-mode
- lms-ui-playing-now-mode
- lms-ui-track-info-mode
- lms-ui-players-mode
- lms-ui-playlist-mode
- lms-ui-tracks-list-mode
- lms-ui-year-album-artist-list-mode))
-
-(defun evil-collection-lms-ui-track-info-mode-quit ()
- "Exit `lms-ui-track-info-mode'."
- (interactive)
- (kill-buffer "*LMS: Track Information*")
- (lms-ui-playing-now-refresh))
-
-(defun evil-collection-lms-ui-players-mode-quit ()
- "Exit `lms-ui-players-mode'."
- (interactive)
- (kill-buffer (format "*LMS: Players*"))
- (lms-ui-playing-now-refresh))
-
-(defun evil-collection-lms-ui-playlist-mode-quit ()
- "Exit `lms-ui-playlist-mode'."
- (interactive)
- (kill-buffer (format "*LMS: Playlist [%d tracks]*" (length lms--ui-pl-tracks)))
- (lms-ui-playing-now-refresh))
-
-(defun evil-collection-lms-ui-tracks-list-mode-quit ()
- "Exit `lms-ui-tracks-list-mode'."
- (interactive)
- (kill-buffer)
- (lms-ui-playing-now-refresh))
-
-(defalias 'evil-collection-lms-ui-year-album-artist-list-mode-quit
- 'evil-collection-lms-ui-tracks-list-mode-quit
- "Exit lms-ui-tracks-list-mode.")
-
-(defun evil-collection-lms-goto-line (count)
- "Move the point to line COUNT. By default the penultimate line."
- (interactive "P")
- (evil-goto-line count)
- (unless count
- (forward-line -1)))
-
-(defun evil-collection-lms-next-line ()
- "Move the point to the next line, except if it is at the end of the buffer."
- (interactive)
- (forward-line 1)
- (when (eobp) (forward-line -1)))
-
-(defun evil-collection-lms-ui-playing-now ()
- "Modify the *LMS: Playing Now* buffer to reflect evil keybinding changes."
- (setq-local buffer-read-only nil)
- (setq lms--ui-editing-p t)
- (while (search-forward-regexp "Press 'h' for help" nil 'noerror)
- (replace-match "")
- (insert (propertize "Press 'gh' or 'g?' for help" 'face '(variable-pitch (:height 0.85 :slant italic :foreground "gray40")))))
- (setq-local buffer-read-only t)
- (setq lms--ui-editing-p nil))
-
-(defvar evil-collection-lms-ui-docs
- "#+TITLE: lms.el Documentation
-#+AUTHOR: Iñigo Serna
-#+DATE: 2020/06/14
-
-* Introduction
-This is an *emacs* frontend to interact with Squeezebox Server / Logitech Media Server.
-Released under GPL version 3 license or later.
-
-It requires emacs version 25 or higher.
-
-More information on what a *squeezebox controller* is at https://inigo.katxi.org/blog/2017/07/31/lms_el.html.
-
-Quick instructions: customize some basic parameters such as 'lms-url' and run it with *lms* or *lms-ui*.
-From there, you could read complete documentation after pressing *gh* or *g?*.
-You can also run 'emacsclient -e \"(lms-float)\"' to display an independent small frame.
-
-Package should appear in [[https://melpa.org][MELPA repository]], and the code is in [[https://hg.serna.eu/emacs/lms][the code repository]] as well.
-
-* Features
-This is Squeezebox controller, i.e. a program which can handle your local music library.
-
-Some of the features:
-- Display song: title, artist, album, year, cover…
-- Play, pause, stop, select next / previous song
-- Control players: select player, power on/off, volume, repeat and shuffle modes
-- Playlist control: list, select song, delete track, clear
-- Show track information and change rating
-
-It is not aimed to be a complete controller, as it can't - and won't - manage external sources such us BBC, Deezer, Pandora, Spotify, or TuneIn Radio.
-
-* Configuration
-There are some parameters you could customize:
-|--------------------------+-----------------------------------------------+------------------------------------|
-| Parameter | Description | Default |
-|--------------------------+-----------------------------------------------+------------------------------------|
-| lms-url | Logitech Media Server hostname or ip and port | http://lms_server:9000 |
-| lms-default-player | Name of default player | nil (1) |
-| lms-ui-cover-width | Cover image width | 500 (2) |
-| lms-ui-update-interval | Time in seconds between UI updates | 1 (3) |
-| lms-number-recent-albums | Number of recent albums to show | 25 |
-| lms-number-random-albums | Number of random albums to show | 25 |
-| lms-number-random-songs | Number of random songs to show | 50 |
-| lms-set-rating-function | Function to use to set song rating | lms--set-rating-with-trackstat (4) |
-|--------------------------+-----------------------------------------------+------------------------------------|
-Notes:
-(1) If *lms-default-player* is not defined or a player with that name does not exist, it will ask for one at start.
-(2) It's recomendable not to change *lms-ui-cover-width*.
-(3) Note that small values in *lms-ui-update-interval* could freeze your Emacs use while refreshing window.
-(4) LMS does not have any means to set the rating of a song by itself, so it depends on an external plugin.
- TrackStat (function *lms--set-rating-with-trackstat*) is a popular one, and RatingsLight (function *lms--set-rating-with-ratingslight*) is another option.
-** Faces
-The colors and font attributes of text can be customized in some views:
-|----------------------------+-------------------------------+---------------------|
-| Face name | Description | Default |
-|----------------------------+-------------------------------+---------------------|
-| lms-playing-face | Playing symbol | DarkTurquoise, bold |
-| lms-title-face | Song title | SlateGray, italic |
-| lms-artist-face | Artist | RosyBrown, bold |
-| lms-year-face | Song year | SteelBlue |
-| lms-album-face | Album | CadetBlue |
-| lms-tracknum-face | Track number | gray40 |
-| lms-duration-face | Song duration | gray60 |
-| lms-players-selected-face | Selected icon in players list | SteelBlue |
-| lms-players-isplaying-face | Isplaying in players list | RosyBrown |
-| lms-players-name-face | Player name in players list | CadetBlue |
-| lms-players-model-face | Player model in players list | SlateGray |
-| lms-players-playerid-face | Player id in players list | gray60 |
-| lms-players-ip-face | Player IP in players list | gray40 |
-| lms-players-power-face | Ispower in players list | Maroon |
-|----------------------------+-------------------------------+---------------------|
-
-* Playing now
-Main window showing information about current track and player status.
-The actions triggered by pressing keys refer to the current track.
-** Key bindings
-|-----------------+--------------------------------|
-| Ctrl-p | select player |
-| t | change player power state |
-| R | change track rating |
-| Ctrl-= | set volume |
-| x, <enter> | toggle play/pause |
-| p | play |
-| s | stop playing |
-| Ctrl-k, <left> | play previous song in playlist |
-| Ctrl-j, <right> | play next song in playlist |
-| m | toggle mute volume |
-| +, = | volume up +5 |
-| - | volume down -5 |
-| r | cycle repeat mode |
-| S | cycle shuffle mode |
-| gr | update window contents |
-| i | display track information |
-| P | display playlist |
-| T | show all albums by artist |
-| L | show all tracks of album |
-| Y | show all albums of this year |
-| M | browse music libray |
-| gh, g? | show this documentation |
-| q | quit LMS |
-|-----------------+--------------------------------|
-
-* Track information
-Display track information.
-Previous/next track only works when *Track information* window was called from a list, but not from *Playing now*.
-** Key bindings
-|-----------------+-------------------------|
-| R | change track rating |
-| Ctrl-k, <left> | show previous track |
-| Ctrl-j, <right> | show next track |
-| gh, g? | show this documentation |
-| q | close window |
-|-----------------+-------------------------|
-
-* Players list
-Players list.
-** Key bindings
-|--------------------+--------------------------------|
-| k, <up>, j, <down> | move cursor |
-| <enter> | select player and close window |
-| x | toggle player play/pause |
-| t | toggle player power state |
-| gh, g? | show this documentation |
-| q | close window |
-|--------------------+--------------------------------|
-
-* Playlist
-Playlist view.
-The actions triggered by pressing keys refer to the track under cursor.
-** Key bindings
-|--------------------+------------------------------------|
-| k, <up>, j, <down> | move cursor |
-| <enter> | play track |
-| i | show track information |
-| C | jump to current track |
-| d, <delete> | remove track from playlist |
-| c c | clear playlist |
-| c u | remove tracks from start to cursor |
-| c f | remove tracks from cursor to end |
-| u | update window contents |
-| A | show all albums by artist |
-| T | show all tracks of album |
-| Y | show all albums of this year |
-| gh, g? | show this documentation |
-| q | close window |
-|--------------------+------------------------------------|
-
-* Year - Album - Artist list
-View all albums of an artist, sorted by date/year.
-The actions triggered by pressing keys refer to the album under cursor.
-** Key bindings
-|--------------------+------------------------------|
-| k, <up>, j, <down> | move cursor |
-| <enter>, a | show all tracks of album |
-| A | show all albums by artist |
-| Y | show all albums of this year |
-| p | add album to playlist |
-| gh, g? | show this documentation |
-| q | close window |
-|--------------------+------------------------------|
-
-* Tracks list
-View list of tracks.
-The actions triggered by pressing keys refer to the track under cursor.
-** Key bindings
-|--------------------+------------------------------|
-| j, <up>, k, <down> | move cursor |
-| <enter>, i | display track information |
-| A | show all albums by artist |
-| Y | show all albums of this year |
-| p | add song to playlist |
-| P | add all songs to playlist |
-| gh, g? | show this documentation |
-| q | close window |
-|--------------------+------------------------------|
-"
- "LMS documentation.")
-
-;;;###autoload
-(defun evil-collection-lms-setup ()
- "Set up `evil' bindings for `lms'."
-
- (dolist (map evil-collection-lms-maps)
- (evil-collection-inhibit-insert-state map))
-
- (dolist (mode evil-collection-lms-modes)
- (evil-set-initial-state mode 'normal))
-
- (evil-collection-define-key 'normal 'lms-ui-playing-now-mode-map
- "t" 'lms-ui-playing-now-change-player-power-state
- (kbd "C-p") 'lms-ui-playing-now-players-list
- "R" 'lms-ui-playing-now-change-rating
- (kbd "C-=") 'lms-ui-playing-now-set-volume
- (kbd "RET") 'lms-ui-playing-now-play-pause
- "x" 'lms-ui-playing-now-play-pause
- "p" 'lms-ui-playing-now-play
- "s" 'lms-ui-playing-now-stop
- (kbd "C-j") 'lms-ui-playing-now-next
- (kbd "<right>") 'lms-ui-playing-now-next
- (kbd "C-k") 'lms-ui-playing-now-prev
- (kbd "<left>") 'lms-ui-playing-now-prev
- "+" 'lms-ui-playing-now-volume-up
- "=" 'lms-ui-playing-now-volume-up
- "-" 'lms-ui-playing-now-volume-down
- "m" 'lms-ui-playing-now-volume-mute
- "r" 'lms-ui-playing-now-cycle-repeat
- "S" 'lms-ui-playing-now-cycle-shuffle
- "gr" 'lms-ui-playing-now-refresh
- "i" 'lms-ui-playing-now-show-track-info
- "P" 'lms-ui-playing-now-show-playlist
- "T" 'lms-ui-playing-now-album-tracks-list
- "A" 'lms-ui-playing-now-artist-albums-list
- "Y" 'lms-ui-playing-now-year-albums-list
- "M" 'lms-ui-playing-now-browse-music-library
- "g?" 'lms-ui-playing-now-help
- "gh" 'lms-ui-playing-now-help
- "q" 'lms-ui-playing-now-quit)
-
- (evil-collection-define-key 'normal 'lms-ui-track-info-mode-map
- "R" 'lms-ui-track-info-change-rating
- (kbd "C-k") 'lms-ui-track-info-prev
- (kbd "<left>") 'lms-ui-track-info-prev
- (kbd "C-j") 'lms-ui-track-info-next
- (kbd "<right>") 'lms-ui-track-info-next
- "g?" 'lms-ui-playing-now-help
- "gh" 'lms-ui-playing-now-help
- "q" 'evil-collection-lms-ui-track-info-mode-quit)
-
- (evil-collection-define-key 'normal 'lms-ui-players-mode-map
- [remap evil-goto-line] 'evil-collection-lms-goto-line
- [remap end-of-defun] 'evil-collection-lms-goto-line
- [remap evil-forward-paragraph] 'evil-collection-lms-goto-line
- [remap evil-next-line] 'evil-collection-lms-next-line
- (kbd "RET") 'lms-ui-players-select
- "x" 'lms-ui-players-playpause
- "t" 'lms-ui-players-toggle-power
- "g?" 'lms-ui-playing-now-help
- "gh" 'lms-ui-playing-now-help
- "q" 'evil-collection-lms-ui-players-mode-quit)
-
- (evil-collection-define-key 'normal 'lms-ui-playlist-mode-map
- [remap evil-goto-line] 'evil-collection-lms-goto-line
- [remap end-of-defun] 'evil-collection-lms-goto-line
- [remap evil-forward-paragraph] 'evil-collection-lms-goto-line
- [remap evil-next-line] 'evil-collection-lms-next-line
- (kbd "RET") 'lms-ui-playlist-play
- "i" 'lms-ui-playlist-track-info
- "C" 'lms-ui-playlist-jump-to-current
- "d" 'lms-ui-playlist-delete-track
- (kbd "<delete>") 'lms-ui-playlist-delete-track
- "cc" 'lms-ui-playlist-clear
- "ct" 'lms-ui-playlist-clear-until-track
- "cf" 'lms-ui-playlist-clear-from-track
- "u" 'lms-ui-playlist
- "A" 'lms-ui-playlist-artist-albums-list
- "T" 'lms-ui-playlist-album-tracks-list
- "Y" 'lms-ui-playlist-year-albums-list
- "g?" 'lms-ui-playing-now-help
- "gh" 'lms-ui-playing-now-help
- "q" 'evil-collection-lms-ui-playlist-mode-quit)
-
- (evil-collection-define-key 'normal 'lms-ui-tracks-list-mode-map
- [remap evil-goto-line] 'evil-collection-lms-goto-line
- [remap end-of-defun] 'evil-collection-lms-goto-line
- [remap evil-forward-paragraph] 'evil-collection-lms-goto-line
- [remap evil-next-line] 'evil-collection-lms-next-line
- "i" 'lms-ui-tl-track-info
- (kbd "RET") 'lms-ui-tl-track-info
- "p" 'lms-ui-tl-to-playlist
- "P" 'lms-ui-tl-all-to-playlist
- "Y" 'lms-ui-tl-by-year
- "A" 'lms-ui-tl-by-artist
- "g?" 'lms-ui-playing-now-help
- "gh" 'lms-ui-playing-now-help
- "q" 'evil-collection-lms-ui-tracks-list-mode-quit)
-
- (evil-collection-define-key 'normal 'lms-ui-year-album-artist-list-mode-map
- [remap evil-goto-line] 'evil-collection-lms-goto-line
- [remap end-of-defun] 'evil-collection-lms-goto-line
- [remap evil-forward-paragraph] 'evil-collection-lms-goto-line
- [remap evil-next-line] 'evil-collection-lms-next-line
- "Y" 'lms-ui-yaal-by-year
- "A" 'lms-ui-yaal-by-artist
- (kbd "RET") 'lms-ui-yaal-by-album
- "a" 'lms-ui-yaal-by-album
- "p" 'lms-ui-yaal-to-playlist
- "g?" 'lms-ui-playing-now-help
- "gh" 'lms-ui-playing-now-help
- "q" 'evil-collection-lms-ui-year-album-artist-list-mode-quit)
-
- ;; Reflect help keybinding changes in the lms.el UI.
- (advice-add 'lms-ui-playing-now :after 'evil-collection-lms-ui-playing-now)
- (setq lms-ui-docs evil-collection-lms-ui-docs))
-
-(provide 'evil-collection-lms)
-;;; evil-collection-lms.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/log-edit/README.org b/.config/emacs/lisp/evil-collection/modes/log-edit/README.org
deleted file mode 100644
index 6046f21..0000000
--- a/.config/emacs/lisp/evil-collection/modes/log-edit/README.org
+++ /dev/null
@@ -1,17 +0,0 @@
-* log-edit
-
- Evil bindings for =log-edit-mode=, the VC commit-message buffer.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-----------------------------+-----------+-------------------|
- | =log-edit-done= | =C-c C-c= | =ZZ= (remap) |
- | =log-edit-kill-buffer= | =C-c C-k= | =ZQ= (remap) |
- | =log-edit-mode-help= | =C-c ?= | =g?= |
- | =log-edit-next-comment= | =M-n= | =]]=, =gj=, =C-j= |
- | =log-edit-previous-comment= | =M-p= | =[[=, =gk= |
- | =quit-window= | n/a | =ZZ=, =ZQ= |
-
- The remaps target =evil-save-and-close=, =evil-save-modified-and-close=,
- and =evil-quit= so =:wq= / =:q= behave correctly.
diff --git a/.config/emacs/lisp/evil-collection/modes/log-edit/evil-collection-log-edit.el b/.config/emacs/lisp/evil-collection/modes/log-edit/evil-collection-log-edit.el
deleted file mode 100644
index 3d774c0..0000000
--- a/.config/emacs/lisp/evil-collection/modes/log-edit/evil-collection-log-edit.el
+++ /dev/null
@@ -1,57 +0,0 @@
-;;; evil-collection-log-edit.el --- Evil bindings for log-edit -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>, Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, log-edit, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for log-edit.
-
-;;; Code:
-(require 'evil-collection)
-(require 'log-edit nil t)
-
-(defvar log-edit-mode-map)
-
-(defconst evil-collection-log-edit-maps '(log-edit-mode-map))
-
-;;;###autoload
-(defun evil-collection-log-edit-setup ()
- "Set up `evil' bindings for `log-edit'."
- (evil-collection-define-key nil 'log-edit-mode-map
- [remap evil-save-and-close] 'log-edit-done
- [remap evil-save-modified-and-close] 'log-edit-done
- [remap evil-quit] 'log-edit-kill-buffer)
-
- (evil-collection-define-key 'normal 'log-edit-mode-map
- "g?" 'log-edit-mode-help
- "]]" 'log-edit-next-comment
- "[[" 'log-edit-previous-comment
- "gj" 'log-edit-next-comment
- "gk" 'log-edit-previous-comment
- (kbd "C-j") 'log-edit-next-comment
- (kbd "C-k") 'log-edit-next-comment
-
- "ZQ" 'quit-window
- "ZZ" 'quit-window))
-
-(provide 'evil-collection-log-edit)
-;;; evil-collection-log-edit.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/log-view/README.org b/.config/emacs/lisp/evil-collection/modes/log-view/README.org
deleted file mode 100644
index c8363f4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/log-view/README.org
+++ /dev/null
@@ -1,20 +0,0 @@
-* log-view
-
- Evil bindings for =log-view-mode= (VC log buffers for git, hg, svn, etc.).
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------------------+--------------+-----------------|
- | =log-view-toggle-entry-display= | =RET=, =TAB= | =TAB= |
- | =log-view-diff= | =d=, === | =RET=, =d=, === |
- | =log-view-diff-changeset= | =D= | =D= |
- | =log-view-toggle-mark-entry= | =m= | =m= |
- | =log-view-modify-change-comment= | =e= | =c= |
- | =log-view-annotate-version= | =a= | =a= |
- | =log-view-find-revision= | =f= | =F= |
- | =log-view-msg-next= | =n=, =TAB= | =gj=, =]]= |
- | =log-view-msg-prev= | =p= | =gk=, =[[= |
- | =log-view-file-next= | n/a | =C-j= |
- | =log-view-file-prev= | n/a | =C-k= |
- | =quit-window= | =q= | =q= |
diff --git a/.config/emacs/lisp/evil-collection/modes/log-view/evil-collection-log-view.el b/.config/emacs/lisp/evil-collection/modes/log-view/evil-collection-log-view.el
deleted file mode 100644
index fbd7520..0000000
--- a/.config/emacs/lisp/evil-collection/modes/log-view/evil-collection-log-view.el
+++ /dev/null
@@ -1,63 +0,0 @@
-;;; evil-collection-log-view.el --- Bindings for `log-view' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `log-view'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'log-view)
-
-(defconst evil-collection-log-view-maps '(log-view-mode-map))
-
-;;;###autoload
-(defun evil-collection-log-view-setup ()
- "Set up `evil' bindings for `log-view'."
-
- ;; Currently vc has these various log-view modes
- (evil-set-initial-state 'vc-hg-log-view-mode 'normal)
- (evil-set-initial-state 'vc-git-log-view-mode 'normal)
- (evil-set-initial-state 'vc-svn-log-view-mode 'normal)
-
- (evil-collection-define-key 'normal 'log-view-mode-map
- "q" 'quit-window
- (kbd "TAB") 'log-view-toggle-entry-display
- "m" 'log-view-toggle-mark-entry
- "c" 'log-view-modify-change-comment
- (kbd "RET") 'log-view-diff
- "d" 'log-view-diff
- "=" 'log-view-diff
- "D" 'log-view-diff-changeset
- "a" 'log-view-annotate-version
- "F" 'log-view-find-revision
- "gj" 'log-view-msg-next
- "gk" 'log-view-msg-prev
- "]]" 'log-view-msg-next
- "[[" 'log-view-msg-prev
- (kbd "C-j") 'log-view-file-next
- (kbd "C-k") 'log-view-file-prev))
-
-(provide 'evil-collection-log-view)
-;;; evil-collection-log-view.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/lsp-ui-imenu/evil-collection-lsp-ui-imenu.el b/.config/emacs/lisp/evil-collection/modes/lsp-ui-imenu/evil-collection-lsp-ui-imenu.el
deleted file mode 100644
index 473169a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/lsp-ui-imenu/evil-collection-lsp-ui-imenu.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; evil-collection-lsp-ui-imenu.el --- Bindings for `lsp-ui-imenu-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: Felix Dick <felix.dick@web.de>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, lsp-ui-imenu, convenience
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `lsp-ui-imenu-mode'.
-
-;;; Code:
-(require 'lsp-ui-imenu nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-lsp-ui-imenu-mode-maps '(lsp-ui-imenu-mode-map))
-
-;;;###autoload
-(defun evil-collection-lsp-ui-imenu-setup ()
- "Set up `evil' bindings for `lsp-ui-imenu'."
- (evil-set-initial-state 'lsp-ui-imenu-mode 'normal)
- (evil-collection-define-key 'normal 'lsp-ui-imenu-mode-map
- (kbd "C-k") 'lsp-ui-imenu--prev-kind
- (kbd "C-j") 'lsp-ui-imenu--next-kind
- (kbd "q") 'lsp-ui-imenu--kill
- (kbd "RET") 'lsp-ui-imenu--view
- (kbd "<M-return>") 'lsp-ui-imenu--visit))
-
-(provide 'evil-collection-lsp-ui-imenu)
-;;; evil-collection-lsp-ui-imenu.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/lua-mode/README.org b/.config/emacs/lisp/evil-collection/modes/lua-mode/README.org
deleted file mode 100644
index 922ca73..0000000
--- a/.config/emacs/lisp/evil-collection/modes/lua-mode/README.org
+++ /dev/null
@@ -1,18 +0,0 @@
-* lua-mode
-
- Evil bindings for [[https://github.com/immerrr/lua-mode][lua-mode]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------------+-----------+------|
- | =lua-search-documentation= | =C-c C-f= | =K= |
- | =run-lua= | | =gz= |
-
- Also installs a hook that sets =evil-shift-width= to =lua-indent-level=
- in =lua-mode= buffers.
-
-** New commands
-
- - =evil-collection-lua-mode-set-evil-shift-width= — sync
- =evil-shift-width= with =lua-indent-level= (added to =lua-mode-hook=).
diff --git a/.config/emacs/lisp/evil-collection/modes/lua-mode/evil-collection-lua-mode.el b/.config/emacs/lisp/evil-collection/modes/lua-mode/evil-collection-lua-mode.el
deleted file mode 100644
index 1345fe7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/lua-mode/evil-collection-lua-mode.el
+++ /dev/null
@@ -1,50 +0,0 @@
-;;; evil-collection-lua-mode.el --- Bindings for `lua-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `lua-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'lua-mode nil t)
-
-(defvar lua-indent-level)
-(defconst evil-collection-lua-mode-maps '(lua-mode-map))
-
-(defun evil-collection-lua-mode-set-evil-shift-width ()
- "Set `evil-shift-width' according to `lua-indent-level'."
- (setq-local evil-shift-width lua-indent-level))
-
-;;;###autoload
-(defun evil-collection-lua-mode-setup ()
- "Set up `evil' bindings for `lua-mode'."
- (add-hook 'lua-mode-hook #'evil-collection-lua-mode-set-evil-shift-width)
-
- (evil-collection-define-key 'normal 'lua-mode-map
- "K" 'lua-search-documentation
- "gz" 'run-lua))
-
-(provide 'evil-collection-lua-mode)
-;;; evil-collection-lua-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/macrostep/README.org b/.config/emacs/lisp/evil-collection/modes/macrostep/README.org
deleted file mode 100644
index 0a0f543..0000000
--- a/.config/emacs/lisp/evil-collection/modes/macrostep/README.org
+++ /dev/null
@@ -1,13 +0,0 @@
-* macrostep
-
- Evil bindings for [[https://github.com/emacsorphanage/macrostep][macrostep]], the interactive macro expander.
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------+--------------+-------------|
- | =macrostep-expand= | =e= | =e= |
- | =macrostep-collapse= | =c= | =u= |
- | =macrostep-collapse-all= | =C-c C-c= | =q= |
- | =macrostep-next-macro= | =n=, =TAB= | =gj=, =C-j= |
- | =macrostep-prev-macro= | =p=, =M-TAB= | =gk=, =C-k= |
diff --git a/.config/emacs/lisp/evil-collection/modes/macrostep/evil-collection-macrostep.el b/.config/emacs/lisp/evil-collection/modes/macrostep/evil-collection-macrostep.el
deleted file mode 100644
index 58ff339..0000000
--- a/.config/emacs/lisp/evil-collection/modes/macrostep/evil-collection-macrostep.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; evil-collection-macrostep.el --- Evil Integration for Macrostep -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, macrostep, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `macrostep-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'macrostep nil t)
-
-(defconst evil-collection-macrostep-maps '(macrostep-keymap))
-
-;;;###autoload
-(defun evil-collection-macrostep-setup ()
- "Set up `evil' bindings for `macrostep'."
- ;; Keymaps don't seem to be populated on first try.
- ;; Force `evil' to normalize keymaps.
- (add-hook 'macrostep-mode-hook #'evil-normalize-keymaps)
-
- (evil-collection-define-key 'normal 'macrostep-keymap
- "q" 'macrostep-collapse-all
- "e" 'macrostep-expand
- "u" 'macrostep-collapse
- "gj" 'macrostep-next-macro
- "gk" 'macrostep-prev-macro
- (kbd "C-j") 'macrostep-next-macro
- (kbd "C-k") 'macrostep-prev-macro))
-
-(provide 'evil-collection-macrostep)
-;;; evil-collection-macrostep.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/magit-repos/README.org b/.config/emacs/lisp/evil-collection/modes/magit-repos/README.org
deleted file mode 100644
index babd311..0000000
--- a/.config/emacs/lisp/evil-collection/modes/magit-repos/README.org
+++ /dev/null
@@ -1,17 +0,0 @@
-* magit-repos
-
- Evil bindings for [[https://magit.vc/][magit-repos]] (=magit-list-repositories=).
-
- Initial state for =magit-repolist-mode= is set to =normal=.
-
-** Key bindings
-
-*** magit-repolist-mode-map (normal state)
-
- | Command | Original | Evil |
- |---------------------------+----------+-------|
- | =magit-repolist-mark= | =m= | =m= |
- | =magit-repolist-unmark= | =u= | =u= |
- | =magit-repolist-fetch= | =f= | =f= |
- | =magit-repolist-status= | =RET= | =RET= |
- | =magit-list-repositories= | =g= | =gr= |
diff --git a/.config/emacs/lisp/evil-collection/modes/magit-repos/evil-collection-magit-repos.el b/.config/emacs/lisp/evil-collection/modes/magit-repos/evil-collection-magit-repos.el
deleted file mode 100644
index 6bd91ec..0000000
--- a/.config/emacs/lisp/evil-collection/modes/magit-repos/evil-collection-magit-repos.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-magit-repos.el --- Bindings for magit-repos -*- lexical-binding: t -*-
-
-;; Copyright (C) 2015-2016, 2021 Justin Burkett
-
-;; Author: Justin Burkett <justin@burkett.cc>
-;; Maintainer: Justin Burkett <justin@burkett.cc>
-;; James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; Package-Requires: ((emacs "26.3") (evil "1.2.3") (magit "2.6.0"))
-;; Homepage: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for magit-repos.
-
-;;; Code:
-(require 'evil-collection)
-(require 'magit-repos nil t)
-
-(defvar magit-repolist-mode-map)
-(defconst evil-collection-magit-repos-maps '(magit-repolist-mode-map))
-
-;;;###autoload
-(defun evil-collection-magit-repos-setup ()
- "Set up `evil' bindings for `magit-repos'."
- (evil-set-initial-state 'magit-repolist-mode 'normal)
- (evil-collection-define-key 'normal 'magit-repolist-mode-map
- "m" 'magit-repolist-mark
- "u" 'magit-repolist-unmark
- "f" 'magit-repolist-fetch
- (kbd "RET") 'magit-repolist-status
- (kbd "gr") 'magit-list-repositories)
- (add-hook 'magit-repolist-mode-hook 'evil-normalize-keymaps))
-
-(provide 'evil-collection-magit-repos)
-;;; evil-collection-magit-repos.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/magit-section/README.org b/.config/emacs/lisp/evil-collection/modes/magit-section/README.org
deleted file mode 100644
index 807238d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/magit-section/README.org
+++ /dev/null
@@ -1,47 +0,0 @@
-* magit-section
-
- Evil bindings for [[https://github.com/magit/magit][magit-section]], the foldable section UI used by magit, forge,
- and several other packages.
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------------------+-----------+-----------|
- | =magit-section-toggle= | =TAB= | =TAB= |
- | =magit-section-cycle= | =C-<tab>= | =C-<tab>= |
- | =magit-section-cycle= | =M-<tab>= | =M-<tab>= |
- | =magit-section-cycle-global= | =backtab= | =backtab= |
- | =magit-section-up= | =^= | =gh= |
- | =magit-section-backward= | =p= | =C-k= |
- | =magit-section-forward= | =n= | =C-j= |
- | =magit-section-backward-sibling= | =M-p= | =gk=, =[= |
- | =magit-section-forward-sibling= | =M-n= | =gj=, =]= |
- | =magit-section-show-level-1= | =1= | =1= |
- | =magit-section-show-level-2= | =2= | =2= |
- | =magit-section-show-level-3= | =3= | =3= |
- | =magit-section-show-level-4= | =4= | =4= |
- | =magit-section-show-level-1-all= | =M-1= | =M-1= |
- | =magit-section-show-level-2-all= | =M-2= | =M-2= |
- | =magit-section-show-level-3-all= | =M-3= | =M-3= |
- | =magit-section-show-level-4-all= | =M-4= | =M-4= |
-
- When =evil-collection-magit-section-use-z-for-folds= is non-nil, the
- following vim-style fold bindings replace the =M-<digit>= variants:
-
- | Command | Evil |
- |----------------------------------+------|
- | =magit-section-show-level-1-all= | =z1= |
- | =magit-section-show-level-2-all= | =z2= |
- | =magit-section-show-level-3-all= | =z3= |
- | =magit-section-show-level-4-all= | =z4= |
- | =magit-section-show-level-4-all= | =zr= |
- | =magit-section-toggle= | =za= |
- | =magit-section-show= | =zo= |
- | =magit-section-show-children= | =zO= |
- | =magit-section-hide= | =zc= |
- | =magit-section-hide-children= | =zC= |
-
-** Customization
-
- - =evil-collection-magit-section-use-z-for-folds= - When non-nil, use =z= as
- a prefix for vim-style fold commands. The stash popup then moves to =Z=.
diff --git a/.config/emacs/lisp/evil-collection/modes/magit-section/evil-collection-magit-section.el b/.config/emacs/lisp/evil-collection/modes/magit-section/evil-collection-magit-section.el
deleted file mode 100644
index 2310393..0000000
--- a/.config/emacs/lisp/evil-collection/modes/magit-section/evil-collection-magit-section.el
+++ /dev/null
@@ -1,91 +0,0 @@
-;;; evil-collection-magit-section.el --- Bindings for magit-section -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for magit-section.
-
-;;; Code:
-(require 'evil-collection)
-(require 'magit-section nil t)
-
-(defvar magit-section-mode-map)
-(defconst evil-collection-magit-section-maps '(magit-section-mode-map))
-
-(defcustom evil-collection-magit-section-use-z-for-folds nil
- "When non nil, use \"z\" as a prefix for common vim fold commands, such as
- - z1 Reset visibility to level 1 for all sections
- - z2 Reset visibility to level 2 for all sections
- - z3 Reset visibility to level 3 for all sections
- - z4 Reset visibility to level 4 for all sections
- - za Toggle a section
- - zo Show section
- - zO Show sections recursively
- - zc Hide section
- - zC Hide sections recursively
- - zr Same as z4.
-
-When this option is enabled, the stash popup is available on \"Z\"."
- :group 'magit
- :type 'boolean)
-
-(defun evil-collection-magit-section-setup ()
- "Set up `evil' bindings for magit-section."
- (if evil-collection-magit-section-use-z-for-folds
- (evil-collection-define-key 'normal 'magit-section-mode-map
- "z1" 'magit-section-show-level-1-all
- "z2" 'magit-section-show-level-2-all
- "z3" 'magit-section-show-level-3-all
- "z4" 'magit-section-show-level-4-all
- "za" 'magit-section-toggle
- "zc" 'magit-section-hide
- "zC" 'magit-section-hide-children
- "zo" 'magit-section-show
- "zO" 'magit-section-show-children
- "zr" 'magit-section-show-level-4-all)
- (evil-collection-define-key 'normal 'magit-section-mode-map
- (kbd "M-1") 'magit-section-show-level-1-all
- (kbd "M-2") 'magit-section-show-level-2-all
- (kbd "M-3") 'magit-section-show-level-3-all
- (kbd "M-4") 'magit-section-show-level-4-all))
-
- (evil-collection-define-key 'normal 'magit-section-mode-map
- (kbd "TAB") 'magit-section-toggle
- [C-tab] 'magit-section-cycle
- [M-tab] 'magit-section-cycle
- ;; [backtab] is the most portable binding for Shift+Tab.
- [backtab] 'magit-section-cycle-global
- "gh" 'magit-section-up
- (kbd "C-k") 'magit-section-backward
- (kbd "C-j") 'magit-section-forward
- "gk" 'magit-section-backward-sibling
- "[" 'magit-section-backward-sibling
- "gj" 'magit-section-forward-sibling
- "]" 'magit-section-forward-sibling
- (kbd "1") 'magit-section-show-level-1
- (kbd "2") 'magit-section-show-level-2
- (kbd "3") 'magit-section-show-level-3
- (kbd "4") 'magit-section-show-level-4))
-
-(provide 'evil-collection-magit-section)
-;;; evil-collection-magit-section.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/magit-todos/README.org b/.config/emacs/lisp/evil-collection/modes/magit-todos/README.org
deleted file mode 100644
index 17a94d1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/magit-todos/README.org
+++ /dev/null
@@ -1,32 +0,0 @@
-* magit-todos
-
- Evil bindings for [[https://github.com/alphapapa/magit-todos][magit-todos]].
-
- Setup clears =j= and =k= on the todos section maps (older =magit-todos=
- versions bound them, blocking evil's vertical motion through todos
- sections) and adds a jump key on =magit-status=.
-
-** Key bindings
-
-*** magit-todos-section-map / magit-todos-item-section-map
-
- | Key | Original | Evil |
- |-----+------------------------------------+---------|
- | =j= | =magit-todos-...= (older versions) | unbound |
- | =k= | =magit-todos-...= (older versions) | unbound |
-
- The current upstream uses =B= / =b= on these maps (branch list set
- commit / toggle); those are untouched.
-
-*** magit-status-mode-map (normal state)
-
- | Command | Original | Evil |
- |-----------------------------+----------+------|
- | =magit-todos-jump-to-todos= | =j T= | =gT= |
-
- Bound only when =magit-todos-mode= is enabled.
-
-** Notes
-
- =magit-todos-mode= emits a warning about the =jT= key when these
- rebindings take effect. Setup advises the mode to silence that warning.
diff --git a/.config/emacs/lisp/evil-collection/modes/magit-todos/evil-collection-magit-todos.el b/.config/emacs/lisp/evil-collection/modes/magit-todos/evil-collection-magit-todos.el
deleted file mode 100644
index 891904b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/magit-todos/evil-collection-magit-todos.el
+++ /dev/null
@@ -1,62 +0,0 @@
-;;; evil-collection-magit-todos.el --- Bindings for `magit-todos' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: Fredrik Bergroth <fbergroth@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `magit-todos'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'magit-todos nil t)
-
-(defconst evil-collection-magit-todos-maps '(magit-todos-section-map
- magit-todos-item-section-map
- magit-status-mode-map))
-
-(defun evil-collection-magit-todos-setup-jump-key ()
- "Add keybinding to jump to todos section."
- (evil-collection-define-key 'normal 'magit-status-mode-map
- "gT" (and (bound-and-true-p magit-todos-mode) 'magit-todos-jump-to-todos)))
-
-(defun evil-collection-magit-todos-supress-warning (func &rest args)
- "Supress the jT keybinding warning."
- (cl-letf* (((symbol-function 'message) #'ignore))
- (apply func args)))
-
-;;;###autoload
-(defun evil-collection-magit-todos-setup ()
- "Set up `evil' bindings for `magit-todos'."
- ;; magit-todos binds jT and k which prevents evil users from stepping into the section
- (dolist (key '("j" "k"))
- (evil-collection-define-key nil 'magit-todos-section-map key nil)
- (evil-collection-define-key nil 'magit-todos-item-section-map key nil))
-
- ;; No need to tell me that jT isn't bound
- (advice-add 'magit-todos-mode :around 'evil-collection-magit-todos-supress-warning)
-
- (add-hook 'magit-todos-mode-hook 'evil-collection-magit-todos-setup-jump-key))
-
-
-(provide 'evil-collection-magit-todos)
-;;; evil-collection-magit-todos.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/magit/README.org b/.config/emacs/lisp/evil-collection/modes/magit/README.org
deleted file mode 100644
index c20db58..0000000
--- a/.config/emacs/lisp/evil-collection/modes/magit/README.org
+++ /dev/null
@@ -1,212 +0,0 @@
-* Black magic
-
- This library configures Magit and Evil to play well with each other. For some
- background see [[https://github.com/justbur/evil-magit/issues/1][Issue #1]].
-
- *Note*: I intend to track the latest commits to the master branch of the [[https://github.com/magit/magit][magit
- repo]], meaning the keybindings here are potentially ahead of the last stable
- release of magit. Once the code in evil-collection-magit stabilizes, I may switch to
- primarily tracking the stable release of magit and secondarily track the latest
- commits to master. Any help is welcomed.
-
-* Recent Changes (most recent first)
-
- 1. [2019-09-04] Don't use =evil-next-visual-line= and
- =evil=previous-visual-line=. See [[https://github.com/emacs-evil/evil-magit/issues/70][Issue #70]].
- 1. [2019-06-16] Added =evil-collection-magit-stage-untracked-file-with-intent= at
- =I=. See [[https://github.com/emacs-evil/evil-magit/issues/67][Issue #67]].
- 2. [2019-02-15] Added =forge-dispatch= at =@=.
- 3. [2018-05-22] Added =evil-collection-magit-use-z-for-folds=. See docstring for more
- information.
- 4. [2018-03-13] Added basic evil support for =magit-list-repositories=.
- 5. [2016-07-27] Moved submodules popup to ' and added the new subtree popup at
- ". This is not mnemonic in any way but easy to reach and keeps the two keys
- together.
- 6. [2016-03-24] Moved =magit-diff-less-context= to = to fix conflict with
- moved revert.
- 7. [2016-03-21] Moved revert commands from =o= and =O= to =-= and
- =_=. Rationale is that you are subtracting a commit. This makes room for
- =o= and =O= to be reset and the new reset popup command. Think of resetting
- to an "old" state. =¯\_(ツ)_/¯=
- 8. Added =evil-collection-magit-want-horizontal-movement=. Use =h= and =l= for movement
- like vim, moving =h= to =H=, =l= to =L=, and =L= to =C-l=.
- 9. Added =evil-collection-magit-toggle-text-mode= on =C-t=. This is a quick way to enter
- text mode in a magit buffer, which allows arbitrary movement, copying, etc.
- Use =C-t= to return to the previous magit mode.
- 10. When =evil-collection-magit-use-y-for-yank= is non nil, =C-w= will prefix the evil
- window switching functions from magit buffers.
- 11. =evil-collection-magit-use-y-for-yank= is now the default. It has worked well for me so
- far, and I've had good feedback, but please let me know if you see issues.
- You can use the original behavior with =(setq evil-collection-magit-use-y-for-yank
- nil)=. See the table below for a summary of differences.
-
-
-* Installation and Use
-
- Evil and Magit are both required. After requiring those packages, the following
- will setup the new key bindings for you.
-
- #+BEGIN_SRC emacs-lisp
- ;; optional: this is the evil state that evil-collection-magit will use
- ;; (setq evil-collection-magit-state 'normal)
- ;; optional: disable additional bindings for yanking text
- ;; (setq evil-collection-magit-use-y-for-yank nil)
- (evil-collection-init)
- #+END_SRC emacs-lisp
-
-** Note on Evil usage
-
- This package assumes that you either use the global variant of evil mode (e.g.,
- through =(evil-mode 1)=), or at least have =evil-local-mode= (the local variant)
- enabled in the magit buffers you want these bindings to take effect in. When
- evil is disabled in a magit buffer, this package will not affect the default key
- bindings (with one minor exception).
-
-** Note on =evil-collection-magit-use-y-for-yank=
-
- =evil-collection-magit-use-y-for-yank= enables evil's visual state for linewise selection,
- and as a consequnce =y= will yank text from the buffer.
-
- With this enabled which it is by default evil-collection-magit uses =v= and =V= to select
- by line. Selection in magit occurs linewise, so this choice is to avoid
- confusion that might arise if someone thought they could stage part of a line
- with =v= for example.
-
-** Text mode
-
- Text mode can be toggled with =evil-collection-magit-toggle-text-mode= (triggered with
- =C-t= or =\=). This takes nearly any magit buffer out of the related magit mode
- and puts it into =text-mode=. This allows free movement in the buffer using the
- standard evil movement and selection commands, making it easy to for example
- copy arbitrary text in the buffer. It also effectively prevents magit keys from
- shadowing evil ones, so =f= runs =evil-find-char= instead of
- =magit-fetch-popup=, allowing all vim related movement commands to be used in
- magit buffers. You can think of this if you like as another state for evil-collection-magit
- to be in.
-
- Several requests have been made to allow selecting and copying arbitrary text in
- the magit buffers, but there are many conflicts between evil bindings and magit
- bindings and there is no elegant solution to this problem in my opinion. Text
- mode is the best that I have come up with.
-
-* Key Bindings
-
- The basic key binding scheme for evil-collection-magit (EM) is described in the following
- tables. Blank columns indicate that the key is carried over from the left.
-
- | Category | Default | EM w/o yank opt | w/ yank opt (default) | w/ horiz move | w/ folds |
- |------------------------+---------+------------------------+-----------------------+---------------+----------|
- | cherry pick | =a/A= | | | | |
- | branch | =b= | | | | |
- | bisect | =B= | | | | |
- | commit | =c= | | | | |
- | diff | =d/D= | | | | |
- | ediff | =e/E= | | | | |
- | fetch | =f= | | | | |
- | pull | =F= | | | | |
- | refresh | =g= | =gr/gR= (=g= in popup) | | | |
- | help | =h/?= | | | =H/?= | |
- | ignore | =i/I= | | | | |
- | intent to stage | =I= | | | | |
- | jump | =j= | =g= | | | |
- | delete | =k= | =x= | | | |
- | untrack | =K= | =X= | | | |
- | log | =l/L= | | | =L/C-l= | |
- | merge | =m= | | | | |
- | remote | =M= | | | | |
- | next section | =n= | =C-j= | | | |
- | next section sibling | =M-n= | =M-j=, =gj=, or =]= | | | |
- | submodule | =o= | ' | | | |
- | subtree | =O= | " | | | |
- | prev section | =p= | =C-k= | | | |
- | prev section sibling | =M-p= | =M-k=, =gk=, or =[= | | | |
- | push | =P= | =P= or =p= | | | |
- | quit | =q= | =q= or =ESC= | | | |
- | rebase | =r= | | | | |
- | rename | =R= | | | | |
- | stage | =s/S= | | | | |
- | tag | =t= | | | | |
- | notes | =T= | | | | |
- | unstage | =u/U= | | | | |
- | revert | =v/V= | =-/_= | | | |
- | am | =w= | | | | |
- | patch | =W= | | | | |
- | reset | =x/X= | =o/O= | | | |
- | show-refs | =y= | | =yr= (=y= in popup) | | |
- | cherry | =Y= | | | | |
- | worktree | =Z/%= | | | | =%= |
- | stash | =z/Z= | | | | =Z= |
- | git-cmd | =:= | =¦= | | | |
- | run | =!= | | | | |
- | forge | =@= | | | | |
- | diff less/more context | =-/+= | = / + | | | |
- | copy section info | =C-w= | | =ys= | | |
- | copy buffer info | =M-w= | | =yb= | | |
-
-** New Commands
-
- | Command | EM w/o yank opt | EM w/ yank opt (default) | w/ horiz move |
- |----------------------------------------+--------------------------+--------------------------+---------------|
- | evil-goto-line | =G= | | |
- | evil-next-visual-line | =j= | | |
- | evil-previous-visual-line | =k= | | |
- | evil-backward-char | under =M-x= | | =h= |
- | evil-forward-char | under =M-x= | | =l= |
- | evil-search-next | =n= | | |
- | evil-search-previous | =N= | | |
- | set-mark-command | =v= or =V= | =C-SPC= | |
- | evil-visual-line | under =M-x= | =v= or =V= | |
- | evil-ex | =:= | | |
- | evil-search-forward | =/= | | |
- | evil-scroll-page-up | =C-b= | | |
- | evil-scroll-down | =C-d= | | |
- | evil-scroll-page-down | =C-f= | | |
- | evil-scroll-up | =C-u= (if =C-u= scrolls) | | |
- | evil-emacs-state | =C-z= | | |
- | evil-yank-line | under =M-x= | =yy= | |
- | evil-window-map | under =M-x= | =C-w= | |
- | evil-collection-magit-toggle-text-mode | =C-t/\= | | |
-
-
- Any other bindings are meant to be consistent with these.
-
- Use =evil-collection-magit-revert= to revert changes made by evil-collection-magit to the default
- evil+magit behavior.
-
-** To add other common evil commands
-
- Some may want =?= to search backward instead of launching the popup which is
- also bound to =h=. To get this behavior, add the following line after
- =(evil-collection-init)= in your configuration.
-
- #+BEGIN_SRC emacs-lisp
-(evil-define-key evil-collection-magit-state magit-mode-map "?" 'evil-search-backward)
- #+END_SRC
-
- Most (but not all) magit bindings are in =magit-mode-map=, so other commands can
- be bound in this way too.
-
-** To remove commands
-
- Typically, to prevent evil-collection-magit from overriding the default behavior with evil
- and magit loaded, you should bind the respective key to =nil= after loading
- evil-collection-magit. For example, to make =escape= behave as default:
-
- #+BEGIN_SRC emacs-lisp
-(evil-define-key* evil-collection-magit-state magit-mode-map [escape] nil)
- #+END_SRC
-
-* Known Conflicts
-
- These are the third-party packages that conflict with these bindings and will
- probably need to be disabled in magit buffers for evil-collection-magit to work properly.
-
- 1. [[https://github.com/hlissner/evil-snipe][evil-snipe]]
- 2. [[https://github.com/syl20bnr/evil-escape][evil-escape]] with [[https://github.com/justbur/evil-magit/issues/4][certain escape sequences]]
-
-* Disclaimer
-
- Given the complexity of magit key bindings combined with the complexity of git
- itself, it is possible that there are some rough edges where the current binding
- is not the expected one in a buffer. It will be very helpful for you to report
- any such instances.
diff --git a/.config/emacs/lisp/evil-collection/modes/magit/evil-collection-magit.el b/.config/emacs/lisp/evil-collection/modes/magit/evil-collection-magit.el
deleted file mode 100644
index 533eae0..0000000
--- a/.config/emacs/lisp/evil-collection/modes/magit/evil-collection-magit.el
+++ /dev/null
@@ -1,747 +0,0 @@
-;;; evil-collection-magit.el --- Evil-based key bindings for magit -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2015-2016, 2021 Justin Burkett
-
-;; Author: Justin Burkett <justin@burkett.cc>
-;; Maintainer: Justin Burkett <justin@burkett.cc>
-;; James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; Package-Requires: ((emacs "26.3") (evil "1.2.3") (magit "2.6.0"))
-;; Homepage: https://github.com/emacs-evil/evil-collection
-;; Version: 0.4.1
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; This library configures Magit and Evil to play well with each
-;; other. For some background see https://github.com/magit/evil-magit/issues/1.
-
-;; See the README at
-;; https://github.com/emacs-evil/evil-collection/tree/master/modes/magit
-;; for a table describing the key binding changes.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'magit nil t)
-
-(defvar magit-blame-mode-map)
-(defvar magit-blame-read-only-mode-map)
-(defvar magit-blob-mode-map)
-(defvar magit-cherry-mode-map)
-(defvar magit-diff-mode-map)
-(defvar magit-file-section-map)
-(defvar magit-hunk-section-map)
-(defvar magit-log-mode-map)
-(defvar magit-log-read-revs-map)
-(defvar magit-log-select-mode-map)
-(defvar magit-process-mode-map)
-(defvar magit-reflog-mode-map)
-(defvar magit-refs-mode-map)
-(defvar magit-status-mode-map)
-(defvar magit-submodule-list-mode-map)
-
-(defconst evil-collection-magit-maps
- '(evil-collection-magit-toggle-text-minor-mode-map
- magit-log-mode-map ; -> parent: `magit-mode-map'
- magit-status-mode-map ; -> parent: `magit-mode-map'
- magit-blame-mode-map
- magit-blame-read-only-mode-map
- magit-blob-mode-map
- magit-submodule-list-mode-map ; -> parent: `magit-repolist-mode-map'
- magit-mode-map))
-
-(defcustom evil-collection-magit-use-y-for-yank t
- "When non nil (Default is t),
-replace \"y\" for `magit-show-refs' with
-\"yy\" for `evil-collection-magit-yank-whole-line',
-\"ys\" for `magit-copy-section-value',
-\"yb\" for `magit-copy-buffer-revision' and
-\"yr\" for `magit-show-refs'.
-This keeps \"y\" for `magit-show-refs',
-in the help popup (`magit-dispatch')."
- :group 'magit
- :type 'boolean)
-
-(defcustom evil-collection-magit-want-horizontal-movement nil
- "When non nil, use \"h\" and \"l\" for horizontal movement in
-most magit buffers. The old \"h\" for help is moved to \"H\" and
-similarly for the old \"l\" for the log popup. The old \"L\" is
-then put on \"C-l\"."
- :group 'magit
- :type 'boolean)
-
-(defcustom evil-collection-magit-use-z-for-folds nil
- "When non nil, use \"z\" as a prefix for common vim fold commands, such as
- - z1 Reset visibility to level 1 for all sections
- - z2 Reset visibility to level 2 for all sections
- - z3 Reset visibility to level 3 for all sections
- - z4 Reset visibility to level 4 for all sections
- - za Toggle a section
- - zo Show section
- - zO Show sections recursively
- - zc Hide section
- - zC Hide sections recursively
- - zr Same as z4.
-
-When this option is enabled, the stash popup is available on \"Z\"."
- :group 'magit
- :type 'boolean)
-
-(defcustom evil-collection-magit-use-v-for-visual-line nil
- "When non nil, use \"v\" for `evil-visual-line' (old behavior).
-When nil (default), \"v\" uses `evil-visual-char'."
- :group 'magit
- :type 'boolean)
-
-(defcustom evil-collection-magit-use-$-for-end-of-line t
- "When non nil, use \"$\" for `evil-end-of-line'.
-
-Move `magit-process-buffer' to \"`\"."
- :group 'magit
- :type 'boolean)
-
-(defcustom evil-collection-magit-use-0-for-beginning-of-line t
- "When non nil, use \"0\" for `evil-beginning-of-line'.
-
-Move `magit-diff-default-context' to \"~\"."
- :group 'magit
- :type 'boolean)
-
-(defcustom evil-collection-magit-state (if evil-collection-magit-use-y-for-yank 'normal 'motion)
- "State to use for most magit buffers."
- :group 'magit
- :type 'symbol)
-
-;; without this set-mark-command activates visual-state which is just annoying
-;; and introduces possible bugs
-(defun evil-collection-magit-remove-visual-activate-hook ()
- (when (derived-mode-p 'magit-mode)
- (remove-hook 'activate-mark-hook 'evil-visual-activate-hook t)))
-(add-hook 'evil-local-mode-hook 'evil-collection-magit-remove-visual-activate-hook)
-
-(defun evil-collection-magit-maybe-deactivate-mark ()
- "Deactivate mark if region is active. Used for ESC binding."
- (interactive)
- (when (region-active-p) (deactivate-mark)))
-
-(defvar evil-collection-magit-emacs-to-default-state-modes
- '(git-commit-mode)
- "Modes that should be in the default evil state.")
-
-(defvar evil-collection-magit-emacs-to-evil-collection-magit-state-modes
- '(git-rebase-mode
- magit-mode
- magit-cherry-mode
- magit-diff-mode
- magit-log-mode
- magit-log-select-mode
- magit-process-mode
- magit-reflog-mode
- magit-refs-mode
- magit-revision-mode
- magit-stash-mode
- magit-stashes-mode
- magit-status-mode)
- "Modes that switch from Emacs state to `evil-collection-magit-state'.")
-
-(defvar evil-collection-magit-default-to-evil-collection-magit-state-modes
- '(magit-blob-mode
- magit-gitflow-mode)
- "Modes that switch from default state to `evil-collection-magit-state'.")
-
-(defvar evil-collection-magit-untouched-modes
- ;; TODO do something here
- '(git-popup-mode
- magit-blame-mode
- magit-blame-read-only-mode)
- "Modes whose evil states are unchanged.")
-
-(defvar evil-collection-magit-ignored-modes
- '(git-commit-major-mode
- magit-auto-revert-mode
- magit-blame-put-keymap-before-view-mode
- magit-diff-mode
- magit-merge-preview-mode
- transient-resume-mode
- magit-rebase-mode
- magit-wip-after-save-mode
- magit-wip-after-save-local-mode-major-mode
- magit-wip-after-save-local-mode
- magit-wip-after-apply-mode
- magit-wip-before-change-mode
- magit-wip-initial-backup-mode
- magit-wip-mode
- ;; gh
- magit-gh-pulls-mode
- ;; git-gutter
- git-gutter-mode
- git-gutter-mode-major-mode
- git-gutter+-commit-mode
- git-gutter+-mode
- git-gutter+-enable-fringe-display-mode
- git-gutter+-enable-default-display-mode)
- "Currently ignored modes. They are collected here for testing purposes.")
-
-(defun evil-collection-magit-set-initial-states ()
- "Set the initial state for relevant modes."
- (dolist (mode (append evil-collection-magit-emacs-to-evil-collection-magit-state-modes
- evil-collection-magit-default-to-evil-collection-magit-state-modes))
- (evil-set-initial-state mode evil-collection-magit-state))
- (dolist (mode evil-collection-magit-emacs-to-default-state-modes)
- (evil-set-initial-state mode evil-default-state)))
-
-(defun evil-collection-magit-revert-initial-states ()
- "Revert the initial state for modes to their values before
-evil-collection-magit was loaded."
- (dolist (mode (append evil-collection-magit-emacs-to-evil-collection-magit-state-modes
- evil-collection-magit-emacs-to-default-state-modes))
- (evil-set-initial-state mode 'emacs))
- (dolist (mode evil-collection-magit-default-to-evil-collection-magit-state-modes)
- (evil-set-initial-state mode evil-default-state)))
-
-(defvar evil-collection-magit-section-maps
- '(magit-branch-section-map
- magit-commit-section-map
- magit-commit-message-section-map
- magit-error-section-map
- magit-file-section-map
- magit-hunk-section-map
- magit-module-commit-section-map
- magit-remote-section-map
- magit-staged-section-map
- magit-stash-section-map
- magit-stashes-section-map
- magit-tag-section-map
- magit-unpulled-section-map
- magit-unpushed-section-map
- magit-unstaged-section-map
- magit-untracked-section-map
-
- ;; new ones that I haven't looked at yet
- magit-button-section-map
- magit-commitbuf-section-map
- magit-diff-section-map
- magit-diffbuf-section-map
- magit-diffstat-section-map
- magit-headers-section-map
- magit-log-section-map
- magit-message-section-map
- ;; FIXME: deal with new bindings in this one
- magit-module-section-map
- magit-modules-section-map
- magit-processbuf-section-map
- magit-process-section-map
- magit-pulls-section-map
- magit-unmerged-section-map
- magit-status-section-map
- magit-worktree-section-map)
- "All magit section maps. For testing purposes only at the moment.")
-
-;; Old way of excluding newlines
-;; (when evil-collection-magit-use-y-for-yank
-;; (dolist (map evil-collection-magit-section-maps)
-;; (when (and map (keymapp (symbol-value map)))
-;; (map-keymap
-;; (lambda (_ def)
-;; (when (commandp def)
-;; (evil-set-command-property def :exclude-newline t)))
-;; (symbol-value map)))))
-
-(defvar evil-collection-magit-in-visual-pre-command)
-
-(defun evil-collection-magit--around-visual-pre-command (orig-func &rest args)
- (let ((evil-collection-magit-in-visual-pre-command t))
- (apply orig-func args)))
-
-(defun evil-collection-magit--filter-args-visual-expand-region (arglist)
- ;; pretend that the command has the :exclude-newline property by rewriting the
- ;; EXCLUDE-NEWLINE arg to this function
- (cons (or (car arglist)
- (and (bound-and-true-p evil-collection-magit-in-visual-pre-command)
- (eq (evil-visual-type) 'line)
- (derived-mode-p 'magit-mode)))
- ;; shouldn't be necessary, but this will prevent it from failing if an
- ;; arg is added.
- (cdr arglist)))
-
-(when (and (fboundp 'advice-add) evil-collection-magit-use-y-for-yank)
- (advice-add 'evil-visual-pre-command
- :around #'evil-collection-magit--around-visual-pre-command)
- (advice-add 'evil-visual-expand-region
- :filter-args #'evil-collection-magit--filter-args-visual-expand-region))
-
-;; keep visual state for magit-section movement commands
-(dolist (cmd '(magit-section-forward-sibling
- magit-section-forward
- magit-section-backward-sibling
- magit-section-backward
- magit-section-up))
- (evil-set-command-property cmd :keep-visual t))
-
-(defvar evil-collection-magit-mode-map-bindings
- (let ((states (if evil-collection-magit-use-y-for-yank
- `(,evil-collection-magit-state visual)
- `(,evil-collection-magit-state))))
- (append
- `((,states magit-mode-map "g")
- (,states magit-mode-map "\C-j" magit-section-forward "n")
- (,states magit-mode-map "\M-j" magit-section-forward-sibling "M-n")
- (,states magit-mode-map "gj" magit-section-forward-sibling "M-n")
- (,states magit-mode-map "]" magit-section-forward-sibling "M-n")
- (,states magit-mode-map "\C-k" magit-section-backward "p")
- (,states magit-mode-map "\M-k" magit-section-backward-sibling "M-p")
- (,states magit-mode-map "gk" magit-section-backward-sibling "M-p")
- (,states magit-mode-map "[" magit-section-backward-sibling "M-p")
- (,states magit-mode-map "gr" magit-refresh "g")
- (,states magit-mode-map "gR" magit-refresh-all "G")
- (,states magit-mode-map "x" magit-delete-thing "k")
- (,states magit-mode-map "X" magit-file-untrack "K")
- (,states magit-mode-map "-" magit-revert-no-commit "v")
- (,states magit-mode-map "_" magit-revert "V")
- (,states magit-mode-map "p" magit-push "P")
- (,states magit-mode-map "o" magit-reset-quickly "x")
- (,states magit-mode-map "O" magit-reset "X")
- (,states magit-mode-map "|" magit-git-command ":")
- (,states magit-mode-map "'" magit-submodule "o")
- (,states magit-mode-map "\"" magit-subtree "O")
- (,states magit-mode-map "=" magit-diff-less-context "-")
- (,states magit-mode-map "j" evil-next-line)
- (,states magit-mode-map "k" evil-previous-line)
- (,states magit-mode-map "gg" evil-goto-first-line)
- (,states magit-mode-map "G" evil-goto-line)
- (,states magit-mode-map "\C-d" evil-scroll-down)
- (,states magit-mode-map "\C-f" evil-scroll-page-down)
- (,states magit-mode-map "\C-b" evil-scroll-page-up)
- (,states magit-mode-map ":" evil-ex)
- (,states magit-mode-map "q" magit-mode-bury-buffer)
-
- ;; these are to fix the priority of the log mode map and the magit mode map
- ;; FIXME: Conflict between this and revert. Revert seems more important here
- ;; (,states magit-log-mode-map "-" magit-log-half-commit-limit "-")
- (,states magit-log-mode-map "=" magit-log-toggle-commit-limit "=")
-
- ;; https://github.com/emacs-evil/evil-collection/issues/406
- ;; Use kbd here for S-SPC and S-DEL so evil-collection-define-key can
- ;; parse definition correctly;.
- (,states magit-mode-map ,(kbd "S-SPC") magit-diff-show-or-scroll-up "SPC")
- (,states magit-mode-map ,(kbd "S-DEL") magit-diff-show-or-scroll-down "DEL")
-
- ((,evil-collection-magit-state) magit-mode-map ,(kbd evil-toggle-key) evil-emacs-state))
-
- (if (eq evil-search-module 'evil-search)
- `((,states magit-mode-map "/" evil-ex-search-forward)
- (,states magit-mode-map "n" evil-ex-search-next)
- (,states magit-mode-map "N" evil-ex-search-previous)
- (,states magit-blame-read-only-mode-map "n" evil-ex-search-next)
- (,states magit-blame-read-only-mode-map "N" evil-ex-search-previous))
- `((,states magit-mode-map "/" evil-search-forward)
- (,states magit-mode-map "n" evil-search-next)
- (,states magit-mode-map "N" evil-search-previous)
- (,states magit-blame-read-only-mode-map "n" evil-search-next)
- (,states magit-blame-read-only-mode-map "N" evil-search-previous)))
-
- `((,states magit-status-mode-map "gz" magit-jump-to-stashes)
- (,states magit-status-mode-map "gt" magit-jump-to-tracked)
- (,states magit-status-mode-map "gn" magit-jump-to-untracked)
- (,states magit-status-mode-map "gu" magit-jump-to-unstaged)
- (,states magit-status-mode-map "gs" magit-jump-to-staged)
- (,states magit-status-mode-map "gfu" magit-jump-to-unpulled-from-upstream)
- (,states magit-status-mode-map "gfp" magit-jump-to-unpulled-from-pushremote)
- (,states magit-status-mode-map "gpu" magit-jump-to-unpushed-to-upstream)
- (,states magit-status-mode-map "gpp" magit-jump-to-unpushed-to-pushremote)
- (,states magit-status-mode-map "gh" magit-section-up "^")
- (,states magit-diff-mode-map "gd" magit-jump-to-diffstat-or-diff "j")
- ((visual) magit-diff-mode-map "y" magit-copy-section-value)
- ;; NOTE This is now transient-map and the binding is C-g.
- ;; ((emacs) magit-popup-mode-map "<escape>" "q")
- )
-
- (when evil-collection-magit-want-horizontal-movement
- `((,states magit-mode-map "H" magit-dispatch "h")
- (,states magit-mode-map "L" magit-log "l")
- (,states magit-mode-map "\C-l" magit-log-refresh "L")
- (,states magit-mode-map "h" evil-backward-char)
- (,states magit-mode-map "l" evil-forward-char)))
-
- (when evil-want-C-u-scroll
- `((,states magit-mode-map "\C-u" evil-scroll-up)))
-
- (if evil-collection-magit-use-y-for-yank
- `((,states magit-mode-map "v" ,(if evil-collection-magit-use-v-for-visual-line
- 'evil-visual-line
- 'evil-visual-char))
- (,states magit-mode-map "V" evil-visual-line)
- (,states magit-mode-map "\C-w" evil-window-map)
- (,states magit-mode-map "y")
- (,states magit-mode-map "yy" evil-collection-magit-yank-whole-line)
- (,states magit-mode-map "yr" magit-show-refs "y")
- (,states magit-mode-map "ys" magit-copy-section-value "C-w")
- (,states magit-mode-map "yb" magit-copy-buffer-revision "M-w")
- ((visual) magit-mode-map "y" magit-copy-section-value))
- `((,states magit-mode-map "v" set-mark-command)
- (,states magit-mode-map "V" set-mark-command)
- (,states magit-mode-map ,(kbd "<escape>") evil-collection-magit-maybe-deactivate-mark)))
-
- (when evil-collection-magit-use-$-for-end-of-line
- `((,states magit-mode-map "$" evil-end-of-line)
- (,states magit-mode-map "`" magit-process-buffer)))
-
- (when evil-collection-magit-use-0-for-beginning-of-line
- `((,states magit-mode-map "0" evil-beginning-of-line)
- (,states magit-mode-map "~" magit-diff-default-context)))
-
- (when evil-collection-magit-use-z-for-folds
- `((,states magit-mode-map "Z" magit-stash)
- (,states magit-mode-map "z")
- (,states magit-mode-map "z1" magit-section-show-level-1-all)
- (,states magit-mode-map "z2" magit-section-show-level-2-all)
- (,states magit-mode-map "z3" magit-section-show-level-3-all)
- (,states magit-mode-map "z4" magit-section-show-level-4-all)
- (,states magit-mode-map "za" magit-section-toggle)
- (,states magit-mode-map "zc" magit-section-hide)
- (,states magit-mode-map "zC" magit-section-hide-children)
- (,states magit-mode-map "zo" magit-section-show)
- (,states magit-mode-map "zO" magit-section-show-children)
- (,states magit-mode-map "zr" magit-section-show-level-4-all)))))
- "evil-collection-magit bindings for major modes. Each element of this list
-takes the form
-
-\(EVIL-STATE MAGIT-MAP NEW-KEY DEF ORIG-KEY\).
-
-ORIG-KEY is only used for testing purposes, and
-denotes the original magit key for this command.")
-
-(dolist (binding evil-collection-magit-mode-map-bindings)
- (when binding
- (dolist (state (nth 0 binding))
- (evil-collection-define-key
- state (nth 1 binding) (nth 2 binding) (nth 3 binding)))))
-
-(defvar evil-collection-magit-minor-mode-map-bindings
- `(((,evil-collection-magit-state visual) magit-blob-mode-map "gj" magit-blob-next "n")
- ((,evil-collection-magit-state visual) magit-blob-mode-map "gk" magit-blob-previous "p")
- ((,evil-collection-magit-state visual) git-commit-mode-map "\M-k" git-commit-prev-message "M-p")
- ((,evil-collection-magit-state visual) git-commit-mode-map "gk" git-commit-prev-message "M-p")
- ((,evil-collection-magit-state visual) git-commit-mode-map "\M-j" git-commit-next-message "M-n")
- ((,evil-collection-magit-state visual) git-commit-mode-map "gj" git-commit-next-message "M-n")
- ((normal) magit-blame-read-only-mode-map "j" evil-next-line)
- ((normal) magit-blame-read-only-mode-map "\C-j" magit-blame-next-chunk "n")
- ((normal) magit-blame-read-only-mode-map "gj" magit-blame-next-chunk "n")
- ((normal) magit-blame-read-only-mode-map "gJ" magit-blame-next-chunk-same-commit "N")
- ((normal) magit-blame-read-only-mode-map "k" evil-previous-line)
- ((normal) magit-blame-read-only-mode-map "\C-k" magit-blame-previous-chunk "p")
- ((normal) magit-blame-read-only-mode-map "gk" magit-blame-previous-chunk "p")
- ((normal) magit-blame-read-only-mode-map "gK" magit-blame-previous-chunk-same-commit "P"))
- "evil-collection-magit bindings for minor modes. Each element of
-this list takes the form
-
-\(EVIL-STATE MAGIT-MAP NEW-KEY DEF ORIG-KEY)\.
-
-ORIG-KEY is only used for testing purposes, and
-denotes the original magit key for this command.")
-
-(dolist (binding evil-collection-magit-minor-mode-map-bindings)
- (when binding
- (dolist (state (nth 0 binding))
- ;; TODO: Maybe switch to `evil-define-minor-mode-key'
- (evil-collection-define-key
- state (nth 1 binding) (nth 2 binding) (nth 3 binding)))))
-
-;; Make relevant maps into overriding maps so that they shadow the global evil
-;; maps by default
-(dolist (map (list magit-mode-map
- magit-cherry-mode-map
- magit-mode-map
- magit-blob-mode-map
- magit-diff-mode-map
- magit-log-mode-map
- magit-log-select-mode-map
- magit-reflog-mode-map
- magit-status-mode-map
- magit-log-read-revs-map
- magit-process-mode-map
- magit-refs-mode-map))
- (evil-make-overriding-map map (if evil-collection-magit-use-y-for-yank
- 'all
- evil-collection-magit-state)))
-
-(evil-make-overriding-map magit-blame-read-only-mode-map 'normal)
-
-(eval-after-load 'magit-gh-pulls
- `(evil-make-overriding-map magit-gh-pulls-mode-map ',evil-collection-magit-state))
-
-;; Need to refresh evil keymaps when blame/blob mode is entered.
-(add-hook 'magit-blame-mode-hook 'evil-normalize-keymaps)
-(add-hook 'magit-blob-mode-hook 'evil-normalize-keymaps)
-
-
-(evil-set-initial-state 'magit-submodule-list-mode 'normal)
-(evil-collection-define-key 'normal 'magit-submodule-list-mode-map
- (kbd "RET") 'magit-repolist-status
- (kbd "gr") 'magit-list-submodules)
-(add-hook 'magit-submodule-list-mode-hook 'evil-normalize-keymaps)
-
-
-(eval-after-load 'git-rebase
- `(progn
- ;; for the compiler
- (defvar git-rebase-mode-map)
- (defvar evil-collection-magit-rebase-commands-w-descriptions
- ;; nil in the first element means don't bind here
- '(("p" git-rebase-pick "pick = use commit")
- ("r" git-rebase-reword "reword = use commit, but edit the commit message")
- ("e" git-rebase-edit "edit = use commit, but stop for amending")
- ("s" git-rebase-squash "squash = use commit, but meld into previous commit")
- ("f" git-rebase-fixup "fixup = like \"squash\", but discard this commit's log message")
- ("x" git-rebase-exec "exec = run command (the rest of the line) using shell")
- ("d" git-rebase-kill-line "drop = remove commit" "k")
- ("u" git-rebase-undo "undo last change")
- ("ZZ" with-editor-finish "tell Git to make it happen")
- ("ZQ" with-editor-cancel "tell Git that you changed your mind, i.e. abort")
- ("k" evil-previous-line "move point to previous line" "p")
- ("j" evil-next-line "move point to next line" "n")
- ("M-k" git-rebase-move-line-up "move the commit at point up" "\M-p")
- ("M-j" git-rebase-move-line-down "move the commit at point down" "\M-n")
- (nil git-rebase-show-commit "show the commit at point in another buffer")))
-
- (dolist (cmd evil-collection-magit-rebase-commands-w-descriptions)
- (when (car cmd)
- (evil-collection-define-key evil-collection-magit-state 'git-rebase-mode-map
- (kbd (car cmd)) (nth 1 cmd))))
-
- (evil-make-overriding-map git-rebase-mode-map evil-collection-magit-state)
-
- (defun evil-collection-magit-add-rebase-messages ()
- "Remove evil-state annotations and reformat git-rebase buffer."
- (goto-char (point-min))
- (let ((inhibit-read-only t)
- (state-regexp (format "<%s-state> " evil-collection-magit-state))
- (aux-map (evil-get-auxiliary-keymap git-rebase-mode-map evil-collection-magit-state)))
- (save-excursion
- (save-match-data
- (goto-char (point-min))
- (when (and (boundp 'git-rebase-show-instructions)
- git-rebase-show-instructions
- (re-search-forward
- (concat "^" (regexp-quote comment-start) "\\s-+p, pick") nil t))
- (goto-char (line-beginning-position))
- (flush-lines (concat "^" (regexp-quote comment-start) ".+ = "))
- (dolist (cmd evil-collection-magit-rebase-commands-w-descriptions)
- (insert
- (format "%s %-8s %s\n"
- comment-start
- (if (and (car cmd)
- (eq (nth 1 cmd)
- (lookup-key aux-map (kbd (car cmd)))))
- (car cmd)
- (replace-regexp-in-string
- state-regexp ""
- (substitute-command-keys
- (format "\\[%s]" (nth 1 cmd)))))
- (nth 2 cmd)))))))))
- (remove-hook 'git-rebase-mode-hook 'git-rebase-mode-show-keybindings)
- (add-hook 'git-rebase-mode-hook 'evil-collection-magit-add-rebase-messages t)))
-
-;; section maps: evil's auxiliary maps don't work here, because these maps are
-;; text overlays
-
-(defun evil-collection-magit-stage-untracked-file-with-intent ()
- "Call `magit-stage-untracked' with optional arg."
- (interactive)
- (when (and (derived-mode-p 'magit-mode)
- (magit-apply--get-selection)
- (eq (magit-diff-type) 'untracked))
- (magit-stage-untracked t)))
-
-(defcustom evil-collection-magit-visit-worktree-file-on-return t
- "When non-nil (default), RET visits the file in the worktree
-\(`magit-diff-visit-worktree-file') and S-<return> visits the file
-in the current diff context (`magit-diff-visit-file').
-
-When nil, the bindings are swapped: RET uses `magit-diff-visit-file'
-and S-<return> uses `magit-diff-visit-worktree-file'."
- :group 'magit
- :type 'boolean)
-
-(defvar evil-collection-magit-original-section-bindings
- `((,(copy-keymap magit-file-section-map) "\C-j" magit-diff-visit-worktree-file)
- (,(copy-keymap magit-hunk-section-map) "\C-j" magit-diff-visit-worktree-file))
- "For testing purposes only. The original magit keybindings that
-evil-collection-magit affects.")
-
-(defun evil-collection-magit-adjust-section-bindings ()
- "Adjust bindings in section maps for evil-collection-magit."
- (define-key magit-file-section-map "I"
- 'evil-collection-magit-stage-untracked-file-with-intent)
- (define-key magit-file-section-map "\C-j" nil) ; breaking change
- (define-key magit-hunk-section-map "\C-j" nil) ; breaking change
- (let ((return-cmd (if evil-collection-magit-visit-worktree-file-on-return
- 'magit-diff-visit-worktree-file
- 'magit-diff-visit-file))
- (s-return-cmd (if evil-collection-magit-visit-worktree-file-on-return
- 'magit-diff-visit-file
- 'magit-diff-visit-worktree-file)))
- (define-key magit-file-section-map (kbd "RET") return-cmd)
- (define-key magit-hunk-section-map (kbd "RET") return-cmd)
- (define-key magit-file-section-map (kbd "S-<return>") s-return-cmd)
- (define-key magit-hunk-section-map (kbd "S-<return>") s-return-cmd)))
-
-(defun evil-collection-magit-revert-section-bindings ()
- "Revert changed bindings in section maps generated by evil-collection-magit."
- (define-key magit-file-section-map "I" nil)
- (define-key magit-file-section-map "\C-j" 'magit-diff-visit-file-worktree)
- (define-key magit-hunk-section-map "\C-j" 'magit-diff-visit-file-worktree)
- (define-key magit-file-section-map (kbd "RET") 'magit-diff-visit-file)
- (define-key magit-hunk-section-map (kbd "RET") 'magit-diff-visit-file)
- (define-key magit-file-section-map (kbd "S-<return>") nil)
- (define-key magit-hunk-section-map (kbd "S-<return>") nil))
-
-;; Popups
-
-(defvar evil-collection-magit-dispatch-popup-backup
- (copy-tree (get 'magit-dispatch 'transient--layout) t))
-(defvar evil-collection-magit-popup-keys-changed nil)
-
-(defvar evil-collection-magit-popup-changes
- (append
- (when evil-collection-magit-use-z-for-folds
- '((magit-dispatch "Z" "%" magit-worktree)
- (magit-dispatch "z" "Z" magit-stash)))
- (when evil-collection-magit-want-horizontal-movement
- '((magit-dispatch "L" "C-l" magit-log-refresh)
- (magit-dispatch "l" "L" magit-log)))
- '((magit-branch "x" "X" magit-branch-reset)
- (magit-branch "k" "x" magit-branch-delete)
- (magit-dispatch "o" "'" magit-submodule)
- (magit-dispatch "O" "\"" magit-subtree)
- (magit-dispatch "V" "_" magit-revert)
- (magit-dispatch "X" "O" magit-reset)
- (magit-dispatch "v" "-" magit-reverse)
- (magit-dispatch "k" "x" magit-discard)
- (magit-remote "k" "x" magit-remote-remove)
- ;; FIXME: how to properly handle a popup with a key that appears twice (in
- ;; `transient-define-prefix' definition)? Currently we rely on:
- ;; 1. first call to `evil-collection-magit-change-popup-key' changes the first "V"
- ;; entry of `magit-revert' (the first entry in `transient-define-prefix'
- ;; definition of `magit-revert'), second call changes the second "V".
- ;; 2. the remapping here are in the same order as in `magit-revert'
- ;; definition
- (magit-revert "V" "_" magit-revert-and-commit)
- (magit-revert "V" "_" magit-sequencer-continue)
- (magit-tag "k" "x" magit-tag-delete)))
- "Changes to popup keys")
-
-(defun evil-collection-magit-change-popup-key (popup from to &rest _args)
- "Wrap `magit-change-popup-key'."
- (transient-suffix-put popup from :key to))
-
-(defun evil-collection-magit-adjust-popups ()
- "Adjust popup keys to match evil-collection-magit."
- (unless evil-collection-magit-popup-keys-changed
- (dolist (change evil-collection-magit-popup-changes)
- (apply #'evil-collection-magit-change-popup-key change))
- (setq evil-collection-magit-popup-keys-changed t)))
-
-(defun evil-collection-magit-revert-popups ()
- "Revert popup keys changed by evil-collection-magit."
- (put 'magit-dispatch 'transient--layout evil-collection-magit-dispatch-popup-backup)
- (setq evil-collection-magit-popup-keys-changed nil))
-
-;;;###autoload
-(defun evil-collection-magit-init ()
- "This function completes the setup of evil-collection-magit. It is called
-automatically when evil-collection-magit-setup is called.. The only reason to
-use this function is if you've called `evil-collection-magit-revert' and wish
-to go back to evil-collection-magit behavior."
- (interactive)
- (evil-collection-magit-adjust-section-bindings)
- (evil-collection-magit-adjust-popups)
- (evil-collection-magit-set-initial-states))
-
-;;;###autoload
-(defun evil-collection-magit-revert ()
- "Revert changes by evil-collection-magit that affect default evil+magit behavior."
- (interactive)
- (evil-collection-magit-revert-section-bindings)
- (evil-collection-magit-revert-popups)
- (evil-collection-magit-revert-initial-states)
- (message "evil-collection-magit reverted"))
-
-(define-minor-mode evil-collection-magit-toggle-text-minor-mode
- "Minor mode used to enabled toggle key in `text-mode' after
-using `evil-collection-magit-toggle-text-mode'"
- :keymap (make-sparse-keymap))
-
-(evil-collection-define-key 'normal
- 'evil-collection-magit-toggle-text-minor-mode-map
- "\C-t" 'evil-collection-magit-toggle-text-mode
- "\\" 'evil-collection-magit-toggle-text-mode)
-(evil-collection-define-key evil-collection-magit-state 'magit-mode-map
- "\C-t" 'evil-collection-magit-toggle-text-mode
- "\\" 'evil-collection-magit-toggle-text-mode)
-(evil-collection-define-key evil-collection-magit-state 'git-rebase-mode-map
- "\C-t" 'evil-collection-magit-toggle-text-mode
- "\\" 'evil-collection-magit-toggle-text-mode)
-
-(defvar evil-collection-magit-last-mode nil
- "Used to store last magit mode before entering text mode using
-`evil-collection-magit-toggle-text-mode'.")
-
-(defun evil-collection-magit-toggle-text-mode ()
- "Switch to `text-mode' and back from magit buffers."
- (interactive)
- (cond ((derived-mode-p 'magit-mode 'git-rebase-mode)
- (setq evil-collection-magit-last-mode major-mode)
- (message "Switching to text-mode")
- (text-mode)
- (read-only-mode -1)
- (evil-collection-magit-toggle-text-minor-mode 1)
- (evil-normalize-keymaps))
- ((and (eq major-mode 'text-mode)
- (functionp evil-collection-magit-last-mode))
- (message "Switching to %s" evil-collection-magit-last-mode)
- (evil-collection-magit-toggle-text-minor-mode -1)
- (evil-normalize-keymaps)
- (funcall evil-collection-magit-last-mode)
- (magit-refresh)
- (evil-change-state evil-collection-magit-state))
- (t
- (user-error "evil-collection-magit-toggle-text-mode unexpected state"))))
-
-(evil-define-operator evil-collection-magit-yank-whole-line
- (beg end type register yank-handler)
- "Yank whole line."
- :motion evil-line-or-visual-line
- (interactive "<R><x>")
- (evil-yank beg end type register yank-handler))
-
-;;;###autoload
-(defun evil-collection-magit-setup ()
- "Set up `evil' bindings for `magit'."
-
- (evil-collection-define-key 'normal 'magit-blame-mode-map
- "q" 'magit-blame-quit)
- (evil-collection-define-key 'normal 'magit-blame-read-only-mode-map
- "q" 'magit-blame-quit)
-
- (evil-collection-magit-init))
-
-;;; evil-collection-magit.el ends soon
-(provide 'evil-collection-magit)
-;; Local Variables:
-;; indent-tabs-mode: nil
-;; End:
-;;; evil-collection-magit.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/man/README.org b/.config/emacs/lisp/evil-collection/modes/man/README.org
deleted file mode 100644
index 70ca48c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/man/README.org
+++ /dev/null
@@ -1,22 +0,0 @@
-* man
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Man-Page.html][Man]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------------------+----------------+-----------------|
- | =scroll-up-command= | =SPC= | =SPC= |
- | =scroll-down-command= | =DEL=, =S-SPC= | =S-SPC= |
- | =forward-button= | =TAB= | =TAB= |
- | =backward-button= | =S-TAB= | =S-TAB= |
- | =Man-next-manpage= | =M-n= | =]]=, =gj= |
- | =Man-previous-manpage= | =M-p= | =[[=, =gk= |
- | =Man-next-section= | =n= | =C-j= |
- | =Man-previous-section= | =p= | =C-k= |
- | =man= | =m= | =gm= |
- | =Man-goto-section= | =g= | =gd= |
- | =Man-follow-manual-reference= | =r= | =gR= |
- | =Man-goto-see-also-section= | =s= | =gs= |
- | =Man-update-manpage= | =u= | =gr= |
- | =quit-window= | =q= | =q=, =ZQ=, =ZZ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/man/evil-collection-man.el b/.config/emacs/lisp/evil-collection/modes/man/evil-collection-man.el
deleted file mode 100644
index a4eddd0..0000000
--- a/.config/emacs/lisp/evil-collection/modes/man/evil-collection-man.el
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; evil-collection-man.el --- Evil bindings for Man-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, man, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `man'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'man)
-
-(defconst evil-collection-man-maps '(Man-mode-map))
-
-;;;###autoload
-(defun evil-collection-man-setup ()
- "Set up `evil' bindings for `man'."
- (evil-set-initial-state 'Man-mode 'normal)
- (evil-collection-define-key 'normal 'Man-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
-
- (kbd "]]") 'Man-next-manpage
- (kbd "[[") 'Man-previous-manpage
- (kbd "gj") 'Man-next-manpage
- (kbd "gk") 'Man-previous-manpage
- (kbd "C-j") 'Man-next-section
- (kbd "C-k") 'Man-previous-section
-
- ;; goto
- "gm" 'man
- "gd" 'Man-goto-section ; TODO: "gd" does not match the rationale of "go to definition". Change?
- "gR" 'Man-follow-manual-reference ; TODO: Make this match Info-follow-reference?
- "gs" 'Man-goto-see-also-section
-
- ;; refresh
- "gr" 'Man-update-manpage
-
- ;; quit
- "q" 'quit-window
- "ZQ" 'quit-window
- "ZZ" 'quit-window))
-
-(provide 'evil-collection-man)
-;;; evil-collection-man.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/markdown-mode/README.org b/.config/emacs/lisp/evil-collection/modes/markdown-mode/README.org
deleted file mode 100644
index 8c93de5..0000000
--- a/.config/emacs/lisp/evil-collection/modes/markdown-mode/README.org
+++ /dev/null
@@ -1,14 +0,0 @@
-* markdown-mode
-
- Basic evil bindings for [[https://github.com/jrblevin/markdown-mode][markdown-mode]]. Not intended to supersede
- [[https://github.com/Somelauw/evil-markdown][evil-markdown]].
-
-** Key bindings (normal state)
-
- | Command | Original | Evil |
- |-------------------------------+-------------+-------------|
- | =markdown-backward-paragraph= | =M-{= | ={= |
- | =markdown-forward-paragraph= | =M-}= | =}= |
- | =markdown-cycle= | =TAB= | =TAB= |
- | =markdown-shifttab= | =<backtab>= | =<backtab>= |
- | =markdown-do= | =C-c C-d= | =RET= |
diff --git a/.config/emacs/lisp/evil-collection/modes/markdown-mode/evil-collection-markdown-mode.el b/.config/emacs/lisp/evil-collection/modes/markdown-mode/evil-collection-markdown-mode.el
deleted file mode 100644
index 83f24a6..0000000
--- a/.config/emacs/lisp/evil-collection/modes/markdown-mode/evil-collection-markdown-mode.el
+++ /dev/null
@@ -1,50 +0,0 @@
-;;; evil-collection-markdown-mode.el --- Evil bindings for markdown-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;
-;; Evil basic bindings for markdown-mode. It's NOT intended to supersede
-;; `evil-markdown'.
-;;
-
-;;; Code:
-(require 'evil-collection)
-(require 'markdown-mode nil t)
-
-(defconst evil-collection-markdown-mode-maps '(markdown-mode-map))
-
-;;;###autoload
-(defun evil-collection-markdown-mode-setup ()
- "Set up `evil' bindings for `markdown-mode'."
- (evil-collection-define-key 'normal 'markdown-mode-map
- "{" 'markdown-backward-paragraph
- "}" 'markdown-forward-paragraph
- [tab] 'markdown-cycle
- [S-tab] 'markdown-shifttab
- ;; `evil-markdown' doesn't bind but spacemacs does.
- (kbd "RET") 'markdown-do))
-
-(provide 'evil-collection-markdown-mode)
-;;; evil-collection-markdown-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/message/README.org b/.config/emacs/lisp/evil-collection/modes/message/README.org
deleted file mode 100644
index 3ef74ce..0000000
--- a/.config/emacs/lisp/evil-collection/modes/message/README.org
+++ /dev/null
@@ -1,18 +0,0 @@
-* message
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/message/index.html][message-mode]], the Gnus / mail composition buffer.
-
- Initial state is insert. Normal-state =Z= bindings provide quick send / kill
- without leaving the keyboard home row.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------------+-----------+------|
- | =message-send-and-exit= | =C-c C-c= | =ZZ= |
- | =message-kill-buffer= | =C-c C-k= | =ZQ= |
- | =message-dont-send= | =C-c C-d= | =ZD= |
- | =mml-attach-file= | =C-c C-a= | =ZF= |
-
- All other =C-c= prefix bindings (goto-field, insert-signature, attach, etc.)
- remain at their upstream keys.
diff --git a/.config/emacs/lisp/evil-collection/modes/message/evil-collection-message.el b/.config/emacs/lisp/evil-collection/modes/message/evil-collection-message.el
deleted file mode 100644
index 3adc543..0000000
--- a/.config/emacs/lisp/evil-collection/modes/message/evil-collection-message.el
+++ /dev/null
@@ -1,46 +0,0 @@
-;;; evil-collection-message.el --- Bindings for `message' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2026 jessy836
-
-;; Author: jessy836 <netocenusa@gmail.com>
-;; Maintainer: jessy836 <netocenusa@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for message.
-
-;;; Code:
-(require 'evil-collection)
-(require 'message nil t)
-
-(defvar message-mode-map)
-(defconst evil-collection-message-maps '(message-mode-map))
-
-;;;###autoload
-(defun evil-collection-message-setup ()
- "Set up `evil' bindings for `message-mode'."
- (evil-set-initial-state 'message-mode 'insert)
- (evil-collection-define-key 'normal 'message-mode-map
- "ZZ" 'message-send-and-exit
- "ZQ" 'message-kill-buffer
- "ZD" 'message-dont-send
- "ZF" 'mml-attach-file))
-
-(provide 'evil-collection-message)
-;;; evil-collection-message.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/minesweeper/evil-collection-minesweeper.el b/.config/emacs/lisp/evil-collection/modes/minesweeper/evil-collection-minesweeper.el
deleted file mode 100644
index 1792948..0000000
--- a/.config/emacs/lisp/evil-collection/modes/minesweeper/evil-collection-minesweeper.el
+++ /dev/null
@@ -1,53 +0,0 @@
-;;; evil-collection-minesweeper.el --- Bindings for `minesweeper' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2025 StrawberryTea
-
-;; Author: StrawberryTea
-;; Maintainer: StrawberryTea <look@strawberrytea.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, games
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-;;; Commentary:
-;; Bindings for `minesweeper'.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'minesweeper nil t)
-
-(defconst evil-collection-minesweeper-maps '(minesweeper-mode-map))
-
-;;;###autoload
-(defun evil-collection-minesweeper-setup ()
- "Set up `evil' bindings for `minesweeper'."
- (evil-set-initial-state 'minesweeper-mode 'normal)
- (evil-collection-define-key 'normal 'minesweeper-mode-map
- "RET" 'minesweeper-choose
- "m" 'minesweeper-toggle-mark
- "c" 'minesweeper-choose-around
- "s" 'minesweeper-toggle-show-neighbors
- "j" 'minesweeper-next-line
- "h" 'minesweeper-backward-char
- "l" 'minesweeper-forward-char
- "$" 'minesweeper-move-end-of-field
- "e" 'minesweeper-move-end-of-field))
-
-(provide 'evil-collection-minesweeper)
-
-;;; evil-collection-minesweeper.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/minibuffer/README.org b/.config/emacs/lisp/evil-collection/modes/minibuffer/README.org
deleted file mode 100644
index 30121f6..0000000
--- a/.config/emacs/lisp/evil-collection/modes/minibuffer/README.org
+++ /dev/null
@@ -1,47 +0,0 @@
-* minibuffer
-
- Evil bindings for the minibuffer and =evil-ex= prompt.
-
- The minibuffer has no major mode, so the package hooks =minibuffer-setup-hook=
- to enter insert state on open.
-
-** Affected keymaps
-
- - =minibuffer-local-map=
- - =minibuffer-local-ns-map=
- - =minibuffer-local-completion-map=
- - =minibuffer-local-must-match-map=
- - =minibuffer-local-isearch-map=
- - =evil-ex-search-keymap=
- - =evil-ex-completion-map=
-
-** Key bindings
-
- Normal-state bindings added to every map above.
-
- | Command | Key |
- |----------------------------------------+------------|
- | =evil-collection-change-in-minibuffer= | =c= |
- | =abort-recursive-edit= | =<escape>= |
- | =exit-minibuffer= | =RET= |
-
- Extra bindings on =evil-ex-completion-map= for history navigation:
-
- | Command | State | Key |
- |-------------------------------------+--------+------------|
- | =previous-complete-history-element= | insert | =C-p= |
- | =next-complete-history-element= | insert | =C-n= |
- | =previous-history-element= | normal | =C-p= |
- | =next-history-element= | normal | =C-n= |
- | =abort-recursive-edit= | normal | =<escape>= |
-
-** New commands
-
- | Command | Key | |
- |----------------------------------------+-----+--------------------------------------------------------------------------------------|
- | =evil-collection-change-in-minibuffer= | =c= | =evil-change= variant that avoids inserting a stray newline when the buffer had none |
-
-** Notes
-
- - =evil-echo-state= is locally disabled so the minibuffer prompt is not
- overwritten by the state indicator.
diff --git a/.config/emacs/lisp/evil-collection/modes/minibuffer/evil-collection-minibuffer.el b/.config/emacs/lisp/evil-collection/modes/minibuffer/evil-collection-minibuffer.el
deleted file mode 100644
index ed81b9c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/minibuffer/evil-collection-minibuffer.el
+++ /dev/null
@@ -1,85 +0,0 @@
-;;; evil-collection-minibuffer.el --- Evil bindings for the minibuffer -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, minibuffer, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for the minibuffer.
-
-;;; Code:
-(require 'evil-collection)
-
-(defconst evil-collection-minibuffer-maps '(minibuffer-local-map
- minibuffer-local-ns-map
- minibuffer-local-completion-map
- minibuffer-local-must-match-map
- minibuffer-local-isearch-map
- evil-ex-search-keymap
- evil-ex-completion-map))
-
-(defun evil-collection-minibuffer-insert ()
- "Switch to insert state.
-
-This function is meant to be hooked in the minibuffer:
-
- (add-hook \='minibuffer-setup-hook \='evil-collection-minibuffer-insert)
-
-`evil-set-initial-state' can not be used for the minibuffer since
-it does not have a mode."
- (set (make-local-variable 'evil-echo-state) nil)
- ;; (evil-set-initial-state 'mode 'insert) is the evil-proper
- ;; way to do this, but the minibuffer doesn't have a mode.
- ;; The alternative is to create a minibuffer mode (here), but
- ;; then it may conflict with other packages' if they do the same.
- (evil-insert 1))
-
-(evil-define-operator evil-collection-change-in-minibuffer
- (beg end type register yank-handler delete-func)
- "A version of `evil-change' that won't insert a new line on buffers without one."
- (interactive "<R><x><y>")
- ;; If there was no new line before the change, there should be none after.
- ;; Delete any new line that might have been inserted and ignore an error if
- ;; one wasn't.
- (let ((new-inserted (and (eq type 'line) (/= ?\n (char-before end)))))
- (evil-change beg end type register yank-handler delete-func)
- (when new-inserted (ignore-errors (delete-char 1)))))
-
-;;;###autoload
-(defun evil-collection-minibuffer-setup ()
- "Initialize minibuffer for `evil'."
- ;; https://www.gnu.org/software/emacs/manual/html_node/elisp/Text-from-Minibuffer.html
- (dolist (map evil-collection-minibuffer-maps)
- (evil-collection-define-key 'normal map "c" 'evil-collection-change-in-minibuffer)
- (evil-collection-define-key 'normal map (kbd "<escape>") 'abort-recursive-edit)
- (evil-collection-define-key 'normal map (kbd "RET") 'exit-minibuffer))
-
- (add-hook 'minibuffer-setup-hook 'evil-collection-minibuffer-insert)
- ;; Because of the above minibuffer-setup-hook, some evil-ex bindings need be reset.
- (evil-collection-define-key 'normal 'evil-ex-completion-map (kbd "<escape>") 'abort-recursive-edit)
- (evil-collection-define-key 'insert 'evil-ex-completion-map (kbd "C-p") 'previous-complete-history-element)
- (evil-collection-define-key 'insert 'evil-ex-completion-map (kbd "C-n") 'next-complete-history-element)
- (evil-collection-define-key 'normal 'evil-ex-completion-map (kbd "C-p") 'previous-history-element)
- (evil-collection-define-key 'normal 'evil-ex-completion-map (kbd "C-n") 'next-history-element))
-
-(provide 'evil-collection-minibuffer)
-;;; evil-collection-minibuffer.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/monky/evil-collection-monky.el b/.config/emacs/lisp/evil-collection/modes/monky/evil-collection-monky.el
deleted file mode 100644
index 5c87d7a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/monky/evil-collection-monky.el
+++ /dev/null
@@ -1,129 +0,0 @@
-;;; evil-collection-monky.el --- Bindings for `monky' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `monky'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'monky nil t)
-
-(defconst evil-collection-monky-maps '(monky-mode-map
- monky-status-mode-map
- monky-log-mode-map
- monky-blame-mode-map
- monky-branches-mode-map
- monky-commit-mode-map
- monky-queue-mode-map
- monky-log-edit-mode-map))
-
-;;;###autoload
-(defun evil-collection-monky-setup ()
- "Set up `evil' bindings for `monky'."
- (evil-set-initial-state 'monky-mode 'normal)
- (add-hook 'monky-mode-hook 'evil-normalize-keymaps)
- (add-hook 'monky-status-mode-hook 'evil-normalize-keymaps)
-
- (evil-collection-define-key 'normal 'monky-mode-map
- "]]" 'monky-goto-next-section
- "gj" 'monky-goto-next-section
- (kbd "C-j") 'monky-goto-next-section
- "[[" 'monky-goto-previous-section
- "gk" 'monky-goto-previous-section
- (kbd "C-k") 'monky-goto-previous-section
- (kbd "RET") 'monky-visit-item
- (kbd "TAB") 'monky-toggle-section
- (kbd "SPC") 'monky-show-item-or-scroll-up
- (kbd "DEL") 'monky-show-item-or-scroll-down
- "gr" 'monky-refresh
- "`" 'monky-display-process
- "!" 'monky-hg-command
- "Ll" 'monky-log-current-branch
- "La" 'monky-log-all
- "LL" 'monky-log-all
- "Lr" 'monky-log-revset
- "b" 'monky-branches
- "Q" 'monky-queue
- "q" 'monky-quit-window)
-
- (evil-collection-define-key 'normal 'monky-status-mode-map
- "s" 'monky-stage-item
- "S" 'monky-stage-all
- "u" 'monky-unstage-item
- "U" 'monky-unstage-all
- "a" 'monky-commit-amend
- "c" 'monky-log-edit
- "e" 'monky-ediff-item
- "Y" 'monky-bookmark-create
- "C" 'monky-checkout
- "M" 'monky-merge
- "B" 'monky-backout
- "P" 'monky-push
- "F" 'monky-pull
- "x" 'monky-discard-item
- "m" 'monky-resolve-item
- "K" 'monky-unresolve-item ;; Not the best...
- "o" 'monky-reset-tip
- "A" 'monky-addremove-all
- "R" 'monky-rollback)
-
- (evil-collection-define-key 'normal 'monky-log-mode-map
- "+" 'monky-log-show-more-entries
- "b" 'monky-checkout-item ;; Like `magit-branch'.
- "m" 'monky-merge-item ;; Like `magit-merge'.
- "B" 'monky-backout-item
- "i" 'monky-qimport-item)
-
- (evil-collection-define-key 'normal 'monky-branches-mode-map
- "b" 'monky-checkout-item ;; Like `magit-branch'.
- "m" 'monky-merge-item ;; Like `magit-merge'.
- )
-
- ;; FIXME: Haven't used this mode yet so not sure if these are appropriate...
- (evil-collection-define-key 'normal 'monky-queue-mode-map
- "u" 'monky-qpop-item
- "U" 'monky-qpop-all
- "s" 'monky-qpush-item
- "S" 'monky-qpush-all
- "r" 'monky-qrefresh
- "R" 'monky-qrename-item
- "k" 'monky-qremove-item
- "N" 'monky-qnew
- "f" 'monky-qfinish-item
- "F" 'monky-qfinish-applied
- "d" 'monky-qfold-item
- "G" 'monky-qguard-item
- "o" 'monky-qreorder
- "A" 'monky-addremove-all)
-
- (evil-collection-define-key 'normal 'monky-log-edit-mode-map
- (kbd "C-c C-c") 'monky-log-edit-commit
- [remap evil-save-and-close] 'monky-log-edit-commit
- [remap evil-save-modified-and-close] 'monky-log-edit-commit
- (kbd "C-c C-k") 'monky-log-edit-cancel-log-message
- [remap evil-quit] 'monky-log-edit-cancel-log-message))
-
-(provide 'evil-collection-monky)
-;;; evil-collection-monky.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/mpc/README.org b/.config/emacs/lisp/evil-collection/modes/mpc/README.org
deleted file mode 100644
index 8416a2a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/mpc/README.org
+++ /dev/null
@@ -1,44 +0,0 @@
-* mpc
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Music.html][mpc-mode]], the Emacs front-end to the Music Player Daemon.
-
-** Key bindings
-
- Bindings applied to =mpc-mode-map=.
-
- | Command | Original | Evil |
- |---------------------------------+----------+--------------|
- | =evil-collection-mpc-move-down= | n/a | =C-j= |
- | =evil-collection-mpc-move-up= | n/a | =C-k= |
- | =mpc-toggle-play= | =s= | =t= |
- | =mpc-stop= | n/a | =T= |
- | =mpc-toggle-repeat= | n/a | =r= |
- | =mpc-toggle-shuffle= | n/a | =s= |
- | =mpc-toggle-consume= | n/a | =c= |
- | =mpc-playlist= | n/a | =gp= |
- | =mpc-playlist-add= | n/a | =a= |
- | =mpc-next= | =>= | =J= |
- | =mpc-prev= | =<= | =K= |
- | =mpc-play-at-point= | n/a | =x= |
- | =mpc-play= | n/a | =X= |
- | =mpc-select= | =RET= | =RET= |
- | =mpc-select-toggle= | =S-RET= | =S-<return>= |
- | =mpc-select-extend= | n/a | =C-<return>= |
- | =mpc-goto-playing-song= | =o= | =go= |
- | =mpc-describe-song= | n/a | =gd= |
- | =mpc-pause= | =p= | =p= |
- | =mpc-resume= | n/a | =P= |
- | =mpc-seek-current= | =g= | =gs= |
- | =mpc-tagbrowser= | n/a | =gb= |
- | =mpc-songs-search= | n/a | =g/= |
- | =mpc-songs-kill-search= | n/a | =g_= |
- | =mpc-update= | n/a | =gR= |
- | =mpc-playlist-delete= | n/a | =D= |
- | =mpc-quit= | =q= | =q= |
-
-** New commands
-
- | Command | Key | |
- |---------------------------------+-------+----------------------------------------|
- | =evil-collection-mpc-move-down= | =C-j= | move cursor down and call =mpc-select= |
- | =evil-collection-mpc-move-up= | =C-k= | move cursor up and call =mpc-select= |
diff --git a/.config/emacs/lisp/evil-collection/modes/mpc/evil-collection-mpc.el b/.config/emacs/lisp/evil-collection/modes/mpc/evil-collection-mpc.el
deleted file mode 100644
index 94f3a9b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/mpc/evil-collection-mpc.el
+++ /dev/null
@@ -1,80 +0,0 @@
-;;; evil-collection-mpc.el --- Bindings for `mpc-mode' -*- lexical-binding: t -*-
-;; Copyright (C) 2021, 2022 pspiagicw
-
-;; Author: pspiagicw <pspiagicw@gmail.com>
-;; Maintainer: pspiagicw <pspiagicw@gmail.com>
-;; pspiagicw <pspiagicw@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, mpc, processes , mpd
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `mpc-mode'.
-
-;;; Code:
-(require 'mpc)
-(require 'evil-collection)
-
-(defconst evil-collection-mpc-mode-maps '(mpc-mode-map))
-
-(defun evil-collection-mpc-move-down ()
- "Move the cursor down along with selecting the element."
- (interactive)
- (evil-next-visual-line)
- (mpc-select))
-
-(defun evil-collection-mpc-move-up ()
- "Move the cursor up along with selecting the element."
- (interactive)
- (evil-previous-visual-line)
- (mpc-select))
-
-;;;###autoload
-(defun evil-collection-mpc-setup ()
- "Setup up `evil' bindings for `mpc-mode'."
- (evil-collection-define-key 'normal 'mpc-mode-map
- (kbd "C-j") 'evil-collection-mpc-move-down
- (kbd "C-k") 'evil-collection-mpc-move-up
- "t" 'mpc-toggle-play
- "T" 'mpc-stop
- "r" 'mpc-toggle-repeat
- "s" 'mpc-toggle-shuffle
- "c" 'mpc-toggle-consume
- "gp" 'mpc-playlist
- "a" 'mpc-playlist-add
- "J" 'mpc-next
- "K" 'mpc-prev
- "x" 'mpc-play-at-point
- "X" 'mpc-play
- (kbd "RET") 'mpc-select
- (kbd "S-<return>") 'mpc-select-toggle
- (kbd "C-<return>") 'mpc-select-extend
- "go" 'mpc-goto-playing-song
- "gd" 'mpc-describe-song
- "p" 'mpc-pause
- "P" 'mpc-resume
- "gs" 'mpc-seek-current
- "gb" 'mpc-tagbrowser
- "g/" 'mpc-songs-search
- "g_" 'mpc-songs-kill-search
- "gd" 'mpc-songs-jump-to
- "gR" 'mpc-update
- "D" 'mpc-playlist-delete
- "q" 'mpc-quit))
-
-(provide 'evil-collection-mpc)
-;;; evil-collection-mpc.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/mpdel/evil-collection-mpdel.el b/.config/emacs/lisp/evil-collection/modes/mpdel/evil-collection-mpdel.el
deleted file mode 100644
index d842899..0000000
--- a/.config/emacs/lisp/evil-collection/modes/mpdel/evil-collection-mpdel.el
+++ /dev/null
@@ -1,96 +0,0 @@
-;;; evil-collection-mpdel.el --- Evil bindings for mpdel -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Ruoyu Feng
-
-;; Author: Ruoyu Feng <mail@vonfry.name>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.4
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools, mpd
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for mpdel.
-
-;;; Code:
-
-(require 'mpdel nil t)
-(require 'evil-collection)
-
-(defvar mpdel-core-map)
-
-(defconst evil-collection-mpdel-maps '(mpdel-core-map))
-
-(defconst evil-collection-mpdel-modes '(mpdel-browser-mode mpdel-playlist-mode
- mpdel-song-mode mpdel-browser-mode
- mpdel-playlist-current-playlist-mode
- mpdel-playlist-stored-playlist-mode))
-
-;;;###autoload
-(defun evil-collection-mpdel-setup ()
- "Set up `evil' bindings for `mpdel'."
-
- (evil-collection-set-readonly-bindings 'mpdel-core-map)
- (dolist (mode evil-collection-mpdel-modes)
- (evil-set-initial-state mode 'normal))
- (evil-collection-define-key 'normal 'mpdel-core-map
- "p" 'libmpdel-playback-play-pause
- "{" 'libmpdel-playback-previous
- "}" 'libmpdel-playback-next
- "a" 'mpdel-core-add-to-current-playlist
- "A" 'mpdel-core-add-to-stored-playlist
- "r" 'mpdel-core-replace-current-playlist
- "R" 'mpdel-core-replace-stored-playlist
- "i" 'mpdel-core-insert-current-playlist
- "gD" 'mpdel-core-dired
- "gA" 'mpdel-core-open-artists
- "gL" 'mpdel-core-open-stored-playlists
- "ss" 'mpdel-core-search-by-title
- "sl" 'mpdel-core-search-by-album
- "sr" 'mpdel-core-search-by-artist
- "gp" 'navigel-open-parent
- "j" 'evil-next-line
- "k" 'evil-previous-line
- "+" 'mpdel-core-volume-increase
- "-" 'mpdel-core-volume-decrease
- "C" 'libmpdel-connect-profile
-
- "gb" 'mpdel-browser-open
-
- "go" 'mpdel-song-open
- "gr" 'mpdel-song-refresh
- "I" 'mpdel-song-play
- "q" 'mpdel-song-quit-window
-
- ">s" 'mpdel-song-small-increment
- ">n" 'mpdel-song-normal-increment
- ">l" 'mpdel-song-large-increment
- "<s" 'mpdel-song-small-decrement
- "<n" 'mpdel-song-normal-decrement
- "<l" 'mpdel-song-large-decrement
-
- "gl" 'mpdel-playlist-open
- "(" 'mpdel-playlist-move-up
- ")" 'mpdel-playlist-move-down
- "w" 'mpdel-playlist-save
- "P" 'mpdel-playlist-play)
-
- (evil-collection-define-key 'normal 'mpdel-tablist-mode-map
- "D" 'tablist-do-delete))
-
-(provide 'evil-collection-mpdel)
-;;; evil-collection-mpdel.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/mpdired/evil-collection-mpdired.el b/.config/emacs/lisp/evil-collection/modes/mpdired/evil-collection-mpdired.el
deleted file mode 100644
index 5cf14cd..0000000
--- a/.config/emacs/lisp/evil-collection/modes/mpdired/evil-collection-mpdired.el
+++ /dev/null
@@ -1,85 +0,0 @@
-;;; evil-collection-mpdired.el --- Evil bindings for mpdired -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 Ruoyu Feng
-
-;; Author: Ruoyu Feng <mail@vonfry.name>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "29.1"))
-;; Keywords: evil, tools, mpd
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for mpdired.
-
-;;; Code:
-
-(require 'mpdired nil t)
-(require 'evil-collection)
-
-(defvar mpdired-core-map)
-
-(defconst evil-collection-mpdired-maps '(mpdired-mode-map))
-
-(defconst evil-collection-mpdired-modes '(mpdired-mode-map))
-
-;;;###autoload
-(defun evil-collection-mpdired-setup ()
- "Set up `evil' bindings for `mpdired'."
-
- (evil-collection-set-readonly-bindings 'mpdired-mode-map)
- (dolist (mode evil-collection-mpdired-modes)
- (evil-set-initial-state mode 'normal))
-
- (evil-collection-define-key 'normal 'mpdired-mode-map
- "j" 'mpdired-next-line
- "k" 'mpdired-previous-line
- (kbd "RET") 'mpdired-enter
- "^" 'mpdired-goto-parent
- "." 'mpdired-goto-current-song
- "o" 'mpdired-toggle-view
- "gr" 'mpdired-update
- "gR" 'mpdired-db-update
- "J" 'mpdired-next-internal
- "K" 'mpdired-previous-internal
- "a" 'mpdired-add
- "d" 'mpdired-flag-at-point
- "x" 'mpdired-execute
- "D" 'mpdired-delete
- "p" 'mpdired-pause-internal
- (kbd "SPC") 'mpdired-pause-internal
- "gv" 'mpdired-set-volume-internal
- "ss" 'mpdired-stop
- "sR" 'mpdired-toggle-repeat
- "sr" 'mpdired-toggle-random
- "sS" 'mpdired-toggle-single
- "sc" 'mpdired-toggle-consume
- "gc" 'mpdired-playlist-create
- "ga" 'mpdired-playlist-append
- "m" 'mpdired-mark-at-point
- "M" 'mpdired-change-marks
- "u" 'mpdired-unmark-at-point
- "U" 'mpdired-unmark-all-marks
- "t" 'mpdired-toggle-marks
- "T" 'mpdired-previous-unmark
- "%d" 'mpdired-flag-files-regexp
- "%m" 'mpdired-mark-files-regexp
- "%i" 'mpdired-put-order-at-point
- "%r" 'mpdired-reset-order-index))
-
-(provide 'evil-collection-mpdired)
-;;; evil-collection-mpdired.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/mu4e-conversation/evil-collection-mu4e-conversation.el b/.config/emacs/lisp/evil-collection/modes/mu4e-conversation/evil-collection-mu4e-conversation.el
deleted file mode 100644
index 8d72bc1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/mu4e-conversation/evil-collection-mu4e-conversation.el
+++ /dev/null
@@ -1,75 +0,0 @@
-;;; evil-collection-mu4e-conversation.el --- Evil bindings for mu4e-conversation -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "24.4") (evil "1.2.10"))
-;; Keywords: evil, mu4e, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for mu4e-conversation.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'mu4e-conversation nil t)
-
-(defconst evil-collection-mu4e-conversation-maps '(mu4e-conversation-map
- mu4e-conversation-thread-map))
-
-(defvar evil-collection-mu4e-conversation--local-map-p nil
- "Non-nil if last position was on a local-map property.")
-
-(defun evil-collection-mu4e-conversation--switch ()
- "Re-compute the bindings if point has moved between the thread
- area and the composition area."
- (let ((local-map-here (get-text-property (point) 'local-map)))
- (when (or (and evil-collection-mu4e-conversation--local-map-p
- (not local-map-here))
- (and (not evil-collection-mu4e-conversation--local-map-p)
- local-map-here))
- (evil-normalize-keymaps))
- (setq evil-collection-mu4e-conversation--local-map-p local-map-here)))
-
-(defun evil-collection-mu4e-conversation--update-local-map ()
- (setq evil-collection-mu4e-conversation--local-map-p (get-text-property (point) 'local-map))
- (evil-normalize-keymaps)
- (add-hook 'post-command-hook 'evil-collection-mu4e-conversation--switch nil t))
-
-;;;###autoload
-(defun evil-collection-mu4e-conversation-setup ()
- "Set up `evil' bindings for `mu4e-conversation'."
- ;; Evil does not update its current keymap state when it the point hits a
- ;; local-map property is used. See
- ;; https://github.com/emacs-evil/evil/issues/301. Thus we force the update
- ;; with a technique similar to what `org~mu4e-mime-switch-headers-or-body'
- ;; does.
- (add-hook 'mu4e-conversation-hook 'evil-collection-mu4e-conversation--update-local-map)
- (evil-collection-define-key 'normal 'mu4e-conversation-map
- " " 'evil-scroll-page-down
- (kbd "S-SPC") 'evil-scroll-page-up
- "[[" 'mu4e-conversation-previous-message
- "]]" 'mu4e-conversation-next-message
- "zv" 'mu4e-conversation-toggle-view
- "za" 'mu4e-conversation-toggle-hide-cited
- "q" 'mu4e-conversation-quit))
-
-(provide 'evil-collection-mu4e-conversation)
-;;; evil-collection-mu4e-conversation.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/mu4e/evil-collection-mu4e-1.8.el b/.config/emacs/lisp/evil-collection/modes/mu4e/evil-collection-mu4e-1.8.el
deleted file mode 100644
index eab3a63..0000000
--- a/.config/emacs/lisp/evil-collection/modes/mu4e/evil-collection-mu4e-1.8.el
+++ /dev/null
@@ -1,435 +0,0 @@
-;;; evil-collection-mu4e.el --- Evil bindings for mu4e -*- lexical-binding: t -*-
-
-;; Copyright (C) 2015-2018 Joris Engbers
-;; Copyright (C) 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-
-;; Author: Joris Engbers <info@jorisengbers.nl>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.9
-;; Package-Requires: ((emacs "24.4") (evil "1.2.10"))
-;; Keywords: evil, mu4e, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil keybindings for mu4e that make sense for Evil users. The following
-;; keybindings are defined:
-;;
-;; General commands:
-;; | Commmand | evil-mu4e | Alternative |
-;; |--------------------------+-----------+-------------|
-;; | Jump to maildir | J | |
-;; | Update | u | |
-;; | Compose message | cc | C |
-;; | Kill update mail process | x | |
-
-;; Commands for header-mode and view-mode:
-;; | Command | evil-mu4e | Alternative |
-;; |---------------------------------+-----------+-------------|
-;; | Next message | C-j | |
-;; | Previous message | C-k | |
-;; | Mark the current thread as read | T | |
-;; | Compose message | cc | C |
-;; | Compose edit** | ce | E |
-;; | Compose forward** | cf | F |
-;; | Compose reply | cr | R |
-;; | Change sorting*** | o | O |
-;; | Rerun search | gr | |
-;; | Toggle include related | zr | |
-;; | Toggle threading | zt | |
-;; | Toggle hide cited | za | |
-;; | Skip duplicates | zd | |
-;; | Show log | gl | |
-;; | Select other view | gv | |
-;; | Save attachement(s) | p | |
-;; | Save url | yu | |
-;; | Go to url | gx | |
-;; | Fetch url | gX | |
-;;
-;; - * denotes only in header-mode
-;; - ** denotes Alternative only in header-mode
-;; - *** denotes Alternative only in view-mode
-;;
-;;; Code:
-
-(require 'evil-collection)
-(require 'mu4e nil t)
-
-(declare-function mu4e--main-action-str "mu4e-main")
-(declare-function mu4e--main-view-queue "mu4e-main")
-(declare-function mu4e--longest-of-maildirs-and-bookmarks "mu4e-main")
-(declare-function mu4e--longest-of-maildirs-and-bookmarks "mu4e-main")
-(declare-function mu4e--maildirs-with-query "mu4e-folders")
-(defvar mu4e--server-props)
-(defvar mu4e-main-hide-fully-read)
-
-(defun evil-collection-mu4e--main-action-str (&rest args)
- "Wrapper for `mu4e--main-action-str' to maintain compatibility
-with older release versions of `mu4e.'"
- (apply (if (fboundp 'mu4e~main-action-str)
- #'mu4e~main-action-str
- #'mu4e--main-action-str)
- args))
-
-(defun evil-collection-mu4e--main-view-queue (&rest args)
- "Wrapper for `mu4e--main-view-queue' to maintain compatibility
-with older release versions of `mu4e.'"
- (apply (if (fboundp 'mu4e~main-view-queue)
- #'mu4e~main-view-queue
- #'mu4e--main-view-queue)
- args))
-
-(defvar smtpmail-send-queued-mail)
-(defvar smtpmail-queue-dir)
-
-(defconst evil-collection-mu4e-maps '(mu4e-main-mode-map
- mu4e-headers-mode-map
- mu4e-view-mode-map
- mu4e-compose-mode-map))
-
-
-
-(defun evil-collection-mu4e-set-state ()
- "Set the appropriate initial state of all mu4e modes."
- (dolist (mode '(mu4e-main-mode
- mu4e-headers-mode
- mu4e-view-mode
- mu4e-org-mode))
- (evil-set-initial-state mode 'normal))
- (evil-set-initial-state 'mu4e-compose-mode 'insert))
-
-;; When using org-mu4e, the above leads to an annoying behaviour, because
-;; switching from message body to header activates mu4e-compose-mode, thus
-;; putting the user into insert-state. The below code, together with the hooks
-;; set in evil-collection-mu4e-setup fixes this issue.
-(defun evil-collection-mu4e-org-set-header-to-normal-mode ()
- (evil-set-initial-state 'mu4e-compose-mode 'normal))
-
-(defun evil-collection-mu4e-org-set-header-to-insert-mode ()
- (evil-set-initial-state 'mu4e-compose-mode 'insert))
-
-
-;;; Define bindings
-
-;; TODO: Inhibit insert-state functions as per Evil Collection.
-(defvar evil-collection-mu4e-mode-normal-map-bindings
- `((mu4e-main-mode-map
- "J" mu4e~headers-jump-to-maildir
- "j" next-line
- "k" previous-line
- "u" mu4e-update-mail-and-index
- "gr" revert-buffer
- "b" mu4e-search-bookmark
- "B" mu4e-search-bookmark-edit
- "N" mu4e-news
- ";" mu4e-context-switch
- "H" mu4e-display-manual
- "C" mu4e-compose-new
- "cc" mu4e-compose-new
- "x" mu4e-kill-update-mail
- "A" mu4e-about
- "f" smtpmail-send-queued-mail
- "m" mu4e--main-toggle-mail-sending-mode
- "s" mu4e-search
- "q" mu4e-quit)
-
- (mu4e-headers-mode-map
- "q" mu4e~headers-quit-buffer
- "J" mu4e~headers-jump-to-maildir
- "C" mu4e-compose-new
- "E" mu4e-compose-edit
- "F" mu4e-compose-forward
- "R" mu4e-compose-reply
- "cc" mu4e-compose-new
- "ce" mu4e-compose-edit
- "cf" mu4e-compose-forward
- "cr" mu4e-compose-reply
- "o" mu4e-headers-change-sorting
- "j" mu4e-headers-next
- "k" mu4e-headers-prev
- "gr" mu4e-search-rerun
- "b" mu4e-search-bookmark
- "B" mu4e-search-bookmark-edit
- ";" mu4e-context-switch
- ,(kbd "RET") mu4e-headers-view-message
- "/" mu4e-search-narrow
- "s" mu4e-search
- "S" mu4e-search-edit
- "x" mu4e-mark-execute-all
- "a" mu4e-headers-action
- "*" mu4e-headers-mark-for-something ; TODO: Don't override evil-seach-word-forward?
- "&" mu4e-headers-mark-custom
- "A" mu4e-headers-mark-for-action
- "m" mu4e-headers-mark-for-move
- "r" mu4e-headers-mark-for-refile
- "D" mu4e-headers-mark-for-delete
- "d" mu4e-headers-mark-for-trash
- "=" mu4e-headers-mark-for-untrash
- "u" mu4e-headers-mark-for-unmark
- "U" mu4e-mark-unmark-all
- "?" mu4e-headers-mark-for-unread
- "!" mu4e-headers-mark-for-read
- "%" mu4e-headers-mark-pattern
- "+" mu4e-headers-mark-for-flag
- "-" mu4e-headers-mark-for-unflag
- "[[" mu4e-headers-prev-unread
- "]]" mu4e-headers-next-unread
- "gk" mu4e-headers-prev-unread
- "gj" mu4e-headers-next-unread
- "\C-j" mu4e-headers-next
- "\C-k" mu4e-headers-prev
- "zr" mu4e-headers-toggle-include-related
- "zt" mu4e-headers-toggle-threading
- "zd" mu4e-headers-toggle-skip-duplicates
- "gl" mu4e-show-log
- "gv" mu4e-select-other-view
- "T" (lambda ()
- (interactive)
- (mu4e-headers-mark-thread nil '(read))))
-
- (mu4e-compose-mode-map
- "gg" mu4e-compose-goto-top
- "G" mu4e-compose-goto-bottom
- "ZD" message-dont-send
- "ZF" mml-attach-file
- "ZQ" mu4e-message-kill-buffer
- "ZZ" message-send-and-exit)
-
- (mu4e-view-mode-map
- " " mu4e-view-scroll-up-or-next
- [tab] shr-next-link
- [backtab] shr-previous-link
- "q" mu4e~view-quit-buffer
- "gx" mu4e-view-go-to-url
- "gX" mu4e-view-fetch-url
- "C" mu4e-compose-new
- "H" mu4e-view-toggle-html
- ;; "E" mu4e-compose-edit
- ;; "F" mu4e-compose-forward
- "R" mu4e-compose-reply
- "cc" mu4e-compose-new
- "ce" mu4e-compose-edit
- "cf" mu4e-compose-forward
- "cr" mu4e-compose-reply
- "p" mu4e-view-save-attachments
- "O" mu4e-headers-change-sorting
- "A" mu4e-view-mime-part-action ; Since 1.6, uses gnus view by default
- "a" mu4e-view-action
- "J" mu4e~headers-jump-to-maildir
- "[[" mu4e-view-headers-prev-unread
- "]]" mu4e-view-headers-next-unread
- "gk" mu4e-view-headers-prev-unread
- "gj" mu4e-view-headers-next-unread
- "\C-j" mu4e-view-headers-next
- "\C-k" mu4e-view-headers-prev
- "x" mu4e-view-marked-execute
- "&" mu4e-view-mark-custom
- "*" mu4e-view-mark-for-something ; TODO: Don't override "*".
- "m" mu4e-view-mark-for-move
- "r" mu4e-view-mark-for-refile
- "D" mu4e-view-mark-for-delete
- "d" mu4e-view-mark-for-trash
- "=" mu4e-view-mark-for-untrash
- "u" mu4e-view-unmark
- "U" mu4e-view-unmark-all
- "?" mu4e-view-mark-for-unread
- "!" mu4e-view-mark-for-read
- "%" mu4e-view-mark-pattern
- "+" mu4e-view-mark-for-flag
- "-" mu4e-view-mark-for-unflag
- "zr" mu4e-headers-toggle-include-related
- "zt" mu4e-headers-toggle-threading
- "za" mu4e-view-toggle-hide-cited
- "gl" mu4e-show-log
- "s" mu4e-view-search-edit
- "|" mu4e-view-pipe
- "." mu4e-view-raw-message
- ,(kbd "C--") mu4e-headers-split-view-shrink
- ,(kbd "C-+") mu4e-headers-split-view-grow
- "T" (lambda ()
- (interactive)
- (mu4e-headers-mark-thread nil '(read)))
- ,@(when evil-want-C-u-scroll
- '("\C-u" evil-scroll-up))))
- "All evil-mu4e bindings for evil normal mode.")
-
- (defvar evil-collection-mu4e-mode-visual-map-bindings
- `((mu4e-headers-mode-map
- "*" mu4e-headers-mark-for-something
- "A" mu4e-headers-mark-for-action
- "m" mu4e-headers-mark-for-move
- "r" mu4e-headers-mark-for-refile
- "D" mu4e-headers-mark-for-delete
- "d" mu4e-headers-mark-for-trash
- "=" mu4e-headers-mark-for-untrash
- "u" mu4e-headers-mark-for-unmark
- "?" mu4e-headers-mark-for-unread
- "!" mu4e-headers-mark-for-read
- "+" mu4e-headers-mark-for-flag
- "-" mu4e-headers-mark-for-unflag)
-
- (mu4e-compose-mode-map
- "gg" mu4e-compose-goto-top
- "G" mu4e-compose-goto-bottom))
- "All evil-mu4e bindings for evil visual mode.")
-
-(defun evil-collection-mu4e-set-bindings ()
- "Set the bindings."
- ;; WARNING: With lexical binding, lambdas from `mapc' and `dolist' become
- ;; closures in which we must use `evil-define-key*' instead of
- ;; `evil-define-key'.
- (dolist (binding evil-collection-mu4e-mode-normal-map-bindings)
- (apply #'evil-collection-define-key 'normal binding))
- (dolist (binding evil-collection-mu4e-mode-visual-map-bindings)
- (apply #'evil-collection-define-key 'visual binding))
- (evil-set-command-property 'mu4e-compose-goto-bottom :keep-visual t)
- (evil-set-command-property 'mu4e-compose-goto-top :keep-visual t)
-
- ;; yu
- (evil-collection-define-operator-key 'yank 'mu4e-view-mode-map
- "u" 'mu4e-view-save-url))
-
-
-;;; Update mu4e-main-view
-;;; To avoid confusion the main-view is updated to show the keys that are in use
-;;; for evil-mu4e.
-
-(defvar evil-collection-mu4e-begin-region-basic "\n Basics"
- "The place where to start overriding Basic section.")
-
-(defvar evil-collection-mu4e-end-region-basic "a new message\n"
- "The place where to end overriding Basic section.")
-
-(defvar evil-collection-mu4e-new-region-basic
- (concat (evil-collection-mu4e--main-action-str "\t* [J]ump to some maildir\n" 'mu4e-jump-to-maildir)
- (evil-collection-mu4e--main-action-str "\t* enter a [s]earch query\n" 'mu4e-search)
- (evil-collection-mu4e--main-action-str "\t* [C]ompose a new message\n" 'mu4e-compose-new))
- "Define the evil-mu4e Basic region.")
-
-(defvar evil-collection-mu4e-begin-region-misc "\n Misc"
- "The place where to start overriding Misc section.")
-
-(defvar evil-collection-mu4e-end-region-misc "q]uit"
- "The place where to end overriding Misc section.")
-
-(defun evil-collection-mu4e-new-region-misc ()
- "Define the evil-mu4e Misc region."
- (concat
- (evil-collection-mu4e--main-action-str "\t* [;]Switch focus\n" 'mu4e-context-switch)
- (evil-collection-mu4e--main-action-str "\t* [u]pdate email & database\n"
- 'mu4e-update-mail-and-index)
-
- ;; show the queue functions if `smtpmail-queue-dir' is defined
- (if (file-directory-p smtpmail-queue-dir)
- (evil-collection-mu4e--main-view-queue)
- "")
- "\n"
-
- (evil-collection-mu4e--main-action-str "\t* [N]ews\n" 'mu4e-news)
- (evil-collection-mu4e--main-action-str "\t* [A]bout mu4e\n" 'mu4e-about)
- (evil-collection-mu4e--main-action-str "\t* [H]elp\n" 'mu4e-display-manual)
- (evil-collection-mu4e--main-action-str "\t* [q]uit\n" 'mu4e-quit)))
-
-(defvar evil-collection-mu4e-begin-region-maildir "\n Maildirs"
- "The place where to end overriding Maildirs section.")
-
-(defvar evil-collection-mu4e-end-region-maildir "\n\n Misc"
- "The place where to end overriding Maildirs section.")
-
-(defun evil-collection-mu4e-new-region-maildir ()
- "Define the evil-mu4e Maildirs region."
- (concat
- ;; minorly edited version of mu4e--main-bookmarks mu4e-main.el
- (cl-loop with mds = (mu4e--maildirs-with-query)
- with longest = (mu4e--longest-of-maildirs-and-bookmarks)
- with queries = (plist-get mu4e--server-props :queries)
- for m in mds
- for key = (string (plist-get m :key))
- for name = (plist-get m :name)
- for query = (plist-get m :query)
- for qcounts = (and (stringp query)
- (cl-loop for q in queries
- when (string=
- (decode-coding-string
- (plist-get q :query)
- 'utf-8 t)
- query)
- collect q))
- for unread = (and qcounts (plist-get (car qcounts) :unread))
- when (not (plist-get m :hide))
- when (not (and mu4e-main-hide-fully-read (eq unread 0)))
- concat (concat
- ;; menu entry
- (evil-collection-mu4e--main-action-str
- (concat "\t* [J" key "] " name)
- (concat "J" key))
- ;; append all/unread numbers, if available.
- (if qcounts
- (let ((unread (plist-get (car qcounts) :unread))
- (count (plist-get (car qcounts) :count)))
- (format
- "%s (%s/%s)"
- (make-string (- longest (string-width name)) ? )
- (propertize (number-to-string unread)
- 'face 'mu4e-header-key-face)
- count))
- "")
- "\n"))
-(propertize "\n Misc" 'face 'mu4e-title-face)))
-
-(defun evil-collection-mu4e-replace-region (new-region start end)
- "Replace region between START and END with NEW-REGION.
-START end END end are regular expressions."
- ;; move to start of region
- (goto-char (point-min))
- (re-search-forward start)
-
- ;; insert new headings
- (insert "\n\n")
- (insert new-region)
- ;; Delete text until end of region.
- (let ((start-point (point))
- (end-point (re-search-forward end)))
- (delete-region start-point end-point)))
-
-(defun evil-collection-mu4e-update-main-view ()
- "Update `Basic', `Maildir', and `Misc' regions to reflect the new keybindings."
- (evil-collection-mu4e-replace-region evil-collection-mu4e-new-region-basic
- evil-collection-mu4e-begin-region-basic
- evil-collection-mu4e-end-region-basic)
- (evil-collection-mu4e-replace-region (evil-collection-mu4e-new-region-misc)
- evil-collection-mu4e-begin-region-misc
- evil-collection-mu4e-end-region-misc)
- (evil-collection-mu4e-replace-region (evil-collection-mu4e-new-region-maildir)
- evil-collection-mu4e-begin-region-maildir
- evil-collection-mu4e-end-region-maildir))
-
-
-;;; Initialize evil-collection-mu4e
-
-;;;###autoload
-(defun evil-collection-mu4e-setup ()
- "Initialize evil-mu4e if necessary.
-If mu4e-main-mode is in evil-state-motion-modes, initialization
-is already done earlier."
- (evil-collection-mu4e-set-state)
- (evil-collection-mu4e-set-bindings)
- (add-hook 'mu4e-main-mode-hook 'evil-collection-mu4e-update-main-view)
- (add-hook 'org-mode-hook #'evil-collection-mu4e-org-set-header-to-normal-mode)
- (add-hook 'mu4e-compose-pre-hook #'evil-collection-mu4e-org-set-header-to-insert-mode))
-
-(provide 'evil-collection-mu4e)
-;;; evil-collection-mu4e.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/mu4e/evil-collection-mu4e.el b/.config/emacs/lisp/evil-collection/modes/mu4e/evil-collection-mu4e.el
deleted file mode 100644
index 3f22cd2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/mu4e/evil-collection-mu4e.el
+++ /dev/null
@@ -1,344 +0,0 @@
-;;; evil-collection-mu4e.el --- Evil bindings for mu4e -*- lexical-binding: t -*-
-
-;; Copyright (C) 2015-2018 Joris Engbers
-;; Copyright (C) 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-
-;; Author: Joris Engbers <info@jorisengbers.nl>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.9
-;; Package-Requires: ((emacs "24.4") (evil "1.2.10"))
-;; Keywords: evil, mu4e, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil keybindings for mu4e that make sense for Evil users. The following
-;; keybindings are defined:
-;;
-;; General commands:
-;; | Commmand | evil-mu4e | Alternative |
-;; |--------------------------+-----------+-------------|
-;; | Jump to maildir | J | |
-;; | Update | u | |
-;; | Compose message | cc | C |
-;; | Kill update mail process | x | |
-
-;; Commands for header-mode and view-mode:
-;; | Command | evil-mu4e | Alternative |
-;; |---------------------------------+-----------+-------------|
-;; | Next message | C-j | |
-;; | Previous message | C-k | |
-;; | Mark the current thread as read | T | |
-;; | Compose message | cc | C |
-;; | Compose edit** | ce | E |
-;; | Compose forward** | cf | F |
-;; | Compose reply | cr | R |
-;; | Change sorting*** | o | O |
-;; | Rerun search | gr | |
-;; | Toggle include related | zr | |
-;; | Toggle threading | zt | |
-;; | Toggle hide cited | za | |
-;; | Skip duplicates | zd | |
-;; | Show log | gl | |
-;; | Select other view | gv | |
-;; | Save attachement(s) | p | |
-;; | Save url | yu | |
-;; | Go to url | gx | |
-;; | Fetch url | gX | |
-;;
-;; - * denotes only in header-mode
-;; - ** denotes Alternative only in header-mode
-;; - *** denotes Alternative only in view-mode
-;;
-;;; Code:
-
-(require 'evil-collection)
-(require 'message)
-(require 'mu4e nil t)
-
-(defvar mu4e-mu-version)
-(declare-function evil-collection-mu4e-set-bindings "evil-collection-mu4e")
-(declare-function evil-collection-mu4e-set-state "evil-collection-mu4e")
-(declare-function mu4e-headers-mark-thread "mu4e-headers")
-
-(if (version< mu4e-mu-version "1.10")
- (require 'evil-collection-mu4e
- (expand-file-name "modes/mu4e/evil-collection-mu4e-1.8" evil-collection-base-dir))
-
-
- (defconst evil-collection-mu4e-maps '(mu4e-main-mode-map
- mu4e-headers-mode-map
- mu4e-view-mode-map
- mu4e-compose-mode-map
- mu4e-search-minor-mode-map
- mu4e-thread-mode-map))
-
- (defun evil-collection-mu4e-set-state ()
- "Set the appropriate initial state of all mu4e modes."
- (dolist (mode '(mu4e-main-mode
- mu4e-headers-mode
- mu4e-view-mode
- mu4e-org-mode))
- (evil-set-initial-state mode 'normal))
- (evil-set-initial-state 'mu4e-compose-mode 'insert))
-
- ;; These functions were removed from mu4e 1.12.0, specifically this commit:
- ;; https://github.com/djcb/mu/commit/85bfe763362b95935a3967f6585e14b3f9890a70
- ;; They were also re-added in version 1.12.2.
- (when (and (version<= "1.12.0" mu4e-mu-version)
- (version< mu4e-mu-version "1.12.2"))
- (defun mu4e-compose-goto-top ()
- "Go to the beginning of the message or buffer.
-Go to the beginning of the message or, if already there, go to the
-beginning of the buffer."
- (interactive)
- (let ((old-position (point)))
- (message-goto-body)
- (when (= (point) old-position)
- (goto-char (point-min)))))
-
- (defun mu4e-compose-goto-bottom ()
- "Go to the end of the message or buffer.
-Go to the end of the message (before signature) or, if already there, go to the
-end of the buffer."
- (interactive)
- (let ((old-position (point))
- (message-position (save-excursion (message-goto-body) (point))))
- (goto-char (point-max))
- (when (re-search-backward message-signature-separator message-position t)
- (forward-line -1))
- (when (= (point) old-position)
- (goto-char (point-max))))))
-
- ;; When using org-mu4e, the above leads to an annoying behaviour, because
- ;; switching from message body to header activates mu4e-compose-mode, thus
- ;; putting the user into insert-state. The below code, together with the hooks
- ;; set in evil-collection-mu4e-setup fixes this issue.
- (defun evil-collection-mu4e-org-set-header-to-normal-mode ()
- "Set initial state in `mu4e-compose-mode' to \='normal."
- (evil-set-initial-state 'mu4e-compose-mode 'normal))
-
- (defun evil-collection-mu4e-org-set-header-to-insert-mode ()
- "Set initial state in `mu4e-compose-mode' to \='insert."
- (evil-set-initial-state 'mu4e-compose-mode 'insert))
-
- (defun evil-collection-mu4e-mark-thread-as-read ()
- (interactive)
- (mu4e-headers-mark-thread nil '(read)))
-
- (defvar evil-collection-mu4e-mode-normal-map-bindings
- `((mu4e-main-mode-map
- "J" mu4e~headers-jump-to-maildir
- "j" next-line
- "k" previous-line
- "u" mu4e-update-mail-and-index
- "gr" revert-buffer
- "b" mu4e-search-bookmark
- "B" mu4e-search-bookmark-edit
- "N" mu4e-news
- ";" mu4e-context-switch
- "H" mu4e-display-manual
- "C" mu4e-compose-new
- "cc" mu4e-compose-new
- "x" mu4e-kill-update-mail
- "A" mu4e-about
- "f" smtpmail-send-queued-mail
- "m" mu4e--main-toggle-mail-sending-mode
- "s" mu4e-search
- "q" mu4e-quit
- "Q" mu4e-search-query)
-
- (mu4e-headers-mode-map
- "q" mu4e~headers-quit-buffer
- "J" mu4e~headers-jump-to-maildir
- "C" mu4e-compose-new
- "E" mu4e-compose-edit
- "F" mu4e-compose-forward
- "R" mu4e-compose-reply
- "cc" mu4e-compose-new
- "ce" mu4e-compose-edit
- "cf" mu4e-compose-forward
- "cr" mu4e-compose-reply
- "cw" mu4e-compose-wide-reply
- "W" mu4e-compose-wide-reply
- "o" mu4e-headers-change-sorting
- "j" mu4e-headers-next
- "k" mu4e-headers-prev
- "gr" mu4e-search-rerun
- "b" mu4e-search-bookmark
- "B" mu4e-search-bookmark-edit
- ";" mu4e-context-switch
- ,(kbd "RET") mu4e-headers-view-message
- "/" mu4e-search-narrow
- "s" mu4e-search
- "S" mu4e-search-edit
- "x" mu4e-mark-execute-all
- "a" mu4e-headers-action
- "*" mu4e-headers-mark-for-something ; TODO: Don't override evil-seach-word-forward?
- "&" mu4e-headers-mark-custom
- "A" mu4e-headers-mark-for-action
- "m" mu4e-headers-mark-for-move
- "r" mu4e-headers-mark-for-refile
- "D" mu4e-headers-mark-for-delete
- "d" mu4e-headers-mark-for-trash
- "=" mu4e-headers-mark-for-untrash
- "u" mu4e-headers-mark-for-unmark
- "U" mu4e-mark-unmark-all
- "?" mu4e-headers-mark-for-unread
- "!" mu4e-headers-mark-for-read
- "%" mu4e-headers-mark-pattern
- "+" mu4e-headers-mark-for-flag
- "-" mu4e-headers-mark-for-unflag
- "[[" mu4e-headers-prev-unread
- "]]" mu4e-headers-next-unread
- "}" mu4e-headers-next-thread
- "{" mu4e-headers-prev-thread
- "gk" mu4e-headers-prev-unread
- "gj" mu4e-headers-next-unread
- "\C-j" mu4e-headers-next
- "\C-k" mu4e-headers-prev
- "t" mu4e-headers-toggle-property
- "zr" mu4e-headers-toggle-include-related
- "zt" mu4e-headers-toggle-threading
- "zd" mu4e-headers-toggle-skip-duplicates
- "gl" mu4e-show-log
- "gv" mu4e-select-other-view
- "T" evil-collection-mu4e-mark-thread-as-read
- "Q" mu4e-search-query)
-
- (mu4e-compose-mode-map
- "gg" mu4e-compose-goto-top
- "G" mu4e-compose-goto-bottom
- "ZD" message-dont-send
- "ZF" mml-attach-file
- "ZQ" ,(function-get 'mu4e-user-agent 'abortfunc)
- "ZZ" ,(function-get 'mu4e-user-agent 'sendfunc))
-
- (mu4e-search-minor-mode-map
- "J" mu4e-search-maildir)
-
- (mu4e-thread-mode-map
- [S-left] mu4e-thread-goto-root
- [tab] mu4e-thread-fold-toggle
- [C-tab] mu4e-thread-fold-toggle-goto-next
- [backtab] mu4e-thread-fold-toggle-all)
-
- (mu4e-view-mode-map
- " " mu4e-view-scroll-up-or-next
- [tab] forward-button
- [backtab] backward-button
- "q" mu4e-view-quit
- "gx" mu4e-view-go-to-url
- "gX" mu4e-view-fetch-url
- "C" mu4e-compose-new
- "H" mu4e-view-toggle-html
- ;; "E" mu4e-compose-edit
- ;; "F" mu4e-compose-forward
- "R" mu4e-compose-reply
- "cc" mu4e-compose-new
- "ce" mu4e-compose-edit
- "cf" mu4e-compose-forward
- "cr" mu4e-compose-reply
- "cw" mu4e-compose-wide-reply
- "p" mu4e-view-save-attachments
- "O" mu4e-headers-change-sorting
- "A" mu4e-view-mime-part-action ; Since 1.6, uses gnus view by default
- "a" mu4e-view-action
- "J" mu4e~headers-jump-to-maildir
- "[[" mu4e-view-headers-prev-unread
- "]]" mu4e-view-headers-next-unread
- "gk" mu4e-view-headers-prev-unread
- "gj" mu4e-view-headers-next-unread
- "\C-j" mu4e-view-headers-next
- "\C-k" mu4e-view-headers-prev
- "x" mu4e-view-marked-execute
- "&" mu4e-view-mark-custom
- "*" mu4e-view-mark-for-something ; TODO: Don't override "*".
- "m" mu4e-view-mark-for-move
- "r" mu4e-view-mark-for-refile
- "D" mu4e-view-mark-for-delete
- "d" mu4e-view-mark-for-trash
- "=" mu4e-view-mark-for-untrash
- "u" mu4e-view-unmark
- "U" mu4e-view-unmark-all
- "?" mu4e-view-mark-for-unread
- "!" mu4e-view-mark-for-read
- "%" mu4e-view-mark-pattern
- "+" mu4e-view-mark-for-flag
- "-" mu4e-view-mark-for-unflag
- "zr" mu4e-headers-toggle-include-related
- "zt" mu4e-headers-toggle-threading
- "za" mu4e-view-toggle-hide-cited
- "gl" mu4e-show-log
- "s" mu4e-view-search-edit
- "|" mu4e-view-pipe
- "." mu4e-view-raw-message
- ,(kbd "C--") mu4e-headers-split-view-shrink
- ,(kbd "C-+") mu4e-headers-split-view-grow
- ,@(when evil-want-C-u-scroll
- '("\C-u" evil-scroll-up))))
- "All evil-mu4e bindings for evil normal mode.")
-
- (defvar evil-collection-mu4e-mode-visual-map-bindings
- `((mu4e-headers-mode-map
- "*" mu4e-headers-mark-for-something
- "A" mu4e-headers-mark-for-action
- "m" mu4e-headers-mark-for-move
- "r" mu4e-headers-mark-for-refile
- "D" mu4e-headers-mark-for-delete
- "d" mu4e-headers-mark-for-trash
- "=" mu4e-headers-mark-for-untrash
- "u" mu4e-headers-mark-for-unmark
- "?" mu4e-headers-mark-for-unread
- "!" mu4e-headers-mark-for-read
- "+" mu4e-headers-mark-for-flag
- "-" mu4e-headers-mark-for-unflag)
-
- (mu4e-compose-mode-map
- "gg" mu4e-compose-goto-top
- "G" mu4e-compose-goto-bottom))
- "All evil-mu4e bindings for evil visual mode.")
-
- (defun evil-collection-mu4e-set-bindings ()
- "Set the bindings."
- ;; WARNING: With lexical binding, lambdas from `mapc' and `dolist' become
- ;; closures in which we must use `evil-define-key*' instead of
- ;; `evil-define-key'.
- (dolist (binding evil-collection-mu4e-mode-normal-map-bindings)
- (apply #'evil-collection-define-key 'normal binding))
- (dolist (binding evil-collection-mu4e-mode-visual-map-bindings)
- (apply #'evil-collection-define-key 'visual binding))
- (evil-set-command-property 'mu4e-compose-goto-bottom :keep-visual t)
- (evil-set-command-property 'mu4e-compose-goto-top :keep-visual t)
-
- ;; yu
- (evil-collection-define-operator-key 'yank 'mu4e-view-mode-map
- "u" 'mu4e-view-save-url))
-
-
-
-
- (defun evil-collection-mu4e-setup ()
- "Initialize evil-mu4e if necessary.
-If `mu4e-main-mode' is in `evil-state-motion-modes', initialization
-is already done earlier."
- (evil-collection-mu4e-set-state)
- (evil-collection-mu4e-set-bindings))
-
- (add-hook 'mu4e-thread-mode-hook #'evil-normalize-keymaps)
-
- (provide 'evil-collection-mu4e))
-;;; evil-collection-mu4e.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/neotree/evil-collection-neotree.el b/.config/emacs/lisp/evil-collection/modes/neotree/evil-collection-neotree.el
deleted file mode 100644
index 7961306..0000000
--- a/.config/emacs/lisp/evil-collection/modes/neotree/evil-collection-neotree.el
+++ /dev/null
@@ -1,101 +0,0 @@
-;;; evil-collection-neotree.el --- Evil bindings for neotree -*- lexical-binding: t; no-byte-compile: t; -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Maximiliano Sandoval <msandova@protonmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, neotree, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `neotree'
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'neotree nil t)
-
-(declare-function neotree-make-executor "neotree.el")
-(defconst evil-collection-neotree-maps '(neotree-mode-map))
-
-;;;###autoload
-(defun evil-collection-neotree-setup ()
- "Set up `evil' bindings for `neotree'."
-
- (evil-set-initial-state 'neotree-mode 'normal) ;; Neotree start in normal by default.
-
- (evil-collection-define-key 'normal 'neotree-mode-map
-
- (kbd "RET") (neotree-make-executor
- :file-fn 'neo-open-file
- :dir-fn 'neo-open-dir)
- (kbd "<tab>") (neotree-make-executor
- :dir-fn 'neo-open-dir)
- "z" (neotree-make-executor
- :dir-fn 'neo-open-dir)
- "ZZ" 'quit-window
- "gd" (neotree-make-executor
- :dir-fn 'neo-open-dired)
- "gD" (neotree-make-executor
- :dir-fn 'neo-open-dired)
- "go" (neotree-make-executor
- :file-fn 'neo-open-file
- :dir-fn 'neo-open-dir)
- "gO" 'neotree-quick-look
- "gr" 'neotree-refresh
- "q" 'neotree-hide
- "H" 'neotree-hidden-file-toggle
- "gh" 'neotree-hidden-file-toggle
- (kbd "C-k") 'neotree-select-up-node
- "gk" 'neotree-select-up-node
- "[[" 'neotree-select-up-node
- (kbd "C-j") 'neotree-select-down-node
- "gj" 'neotree-select-down-node
- "]]" 'neotree-select-down-node
- "gv" 'neotree-open-file-in-system-application
- "c" 'neotree-create-node
- "y" 'neotree-copy-node
- "r" 'neotree-rename-node
- "R" 'neotree-change-root
- "d" 'neotree-delete-node
- "J" 'neotree-dir
- "+" 'neotree-stretch-toggle
- "=" 'neotree-stretch-toggle
- "ge" 'neotree-enter
- "j" 'neotree-next-line
- "k" 'neotree-previous-line
-
- ;; Unchanged keybings.
- "a" (neotree-make-executor
- :file-fn 'neo-open-file-ace-window)
- "|" (neotree-make-executor
- :file-fn 'neo-open-file-vertical-split)
- "-" (neotree-make-executor
- :file-fn 'neo-open-file-horizontal-split)
- "S" 'neotree-select-previous-sibling-node
- "s" 'neotree-select-next-sibling-node
- (kbd "C-c C-c") 'neotree-change-root
- (kbd "C-x 1") 'neotree-empty-fn
- (kbd "C-x 2") 'neotree-empty-fn
- (kbd "C-x 3") 'neotree-empty-fn
- (kbd "C-x C-f") 'find-file-other-window
- (kbd "C-c C-f") 'find-file-other-window))
-
-(provide 'evil-collection-neotree)
-;;; evil-collection-neotree.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/newsticker/README.org b/.config/emacs/lisp/evil-collection/modes/newsticker/README.org
deleted file mode 100644
index 4c73530..0000000
--- a/.config/emacs/lisp/evil-collection/modes/newsticker/README.org
+++ /dev/null
@@ -1,56 +0,0 @@
-* newsticker
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/newsticker/index.html][newsticker]], the built-in RSS / Atom reader.
-
-** Key bindings
-
-*** newsticker-mode-map (plainview)
-
- | Command | Original | Evil |
- |---------------------------------------------+----------+------|
- | =newsticker-previous-feed= | =F= | =gk= |
- | =newsticker-next-feed= | =f= | =gj= |
- | =newsticker-mark-item-at-point-as-read= | =o= | =r= |
- | =newsticker-mark-item-at-point-as-immortal= | =i= | =i= |
- | =newsticker-show-old-items= | =s O= | =o= |
- | =newsticker-hide-old-items= | =h O= | =O= |
- | =newsticker-buffer-force-update= | =U= | =gr= |
- | =newsticker-get-all-news= | =G= | =gR= |
- | =newsticker-close-buffer= | =q= | =q= |
-
-*** newsticker-treeview-mode-map
-
- | Command | Original | Evil |
- |-------------------------------------------------+--------------+--------------|
- | =newsticker-treeview-prev-feed= | =F= | =[[= |
- | =newsticker-treeview-next-feed= | =f= | =]]= |
- | =newsticker-treeview-next-item= | =n= | =M-j= |
- | =newsticker-treeview-prev-item= | =p= | =M-k= |
- | =newsticker-treeview-next-new-or-immortal-item= | =N= | =gj= |
- | =newsticker-treeview-prev-new-or-immortal-item= | =P= | =gk= |
- | =newsticker-treeview-next-page= | =SPC= | =SPC= |
- | =newsticker-treeview-jump= | =j= | =J= |
- | =newsticker-treeview-mark-item-old= | =o= | =o= |
- | =newsticker-treeview-mark-list-items-old= | =O= | =O= |
- | =newsticker-treeview-toggle-item-immortal= | =i= | =i= |
- | =newsticker-treeview-browse-url-item= | =b= | =b= |
- | =newsticker-treeview-browse-url= | =v= | =B= |
- | =newsticker-group-add-group= | =M-a= | =A= |
- | =newsticker-group-delete-group= | =M-d= | =D= |
- | =newsticker-group-rename-group= | =M-r= | =R= |
- | =newsticker-treeview-save= | =s= | =S= |
- | =newsticker-group-move-feed= | =M-m= | =M-m= |
- | =newsticker-group-shift-feed-down= | =M-<down>= | =M-<down>= |
- | =newsticker-group-shift-feed-up= | =M-<up>= | =M-<up>= |
- | =newsticker-group-shift-group-down= | =M-S-<down>= | =M-S-<down>= |
- | =newsticker-group-shift-group-up= | =M-S-<up>= | =M-S-<up>= |
- | =newsticker-treeview-update= | =u= | =gr= |
- | =newsticker-get-all-news= | =G= | =gR= |
- | =newsticker-treeview-quit= | =q= | =q= |
-
-** Notes
-
- - In the treeview list buffer, =C-m= / =C-j= are bound to
- =newsticker-treeview-show-item= via text-property keymap, which has higher
- precedence than the major-mode map. Use =M-j= / =M-k= for next / previous
- item navigation.
diff --git a/.config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el b/.config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el
deleted file mode 100644
index 9397a44..0000000
--- a/.config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el
+++ /dev/null
@@ -1,116 +0,0 @@
-;;; evil-collection-newsticker.el --- Evil bindings for newsticker -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, newsticker, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for newsticker.
-
-;;; Code:
-(require 'evil-collection)
-(require 'newsticker)
-
-(defconst evil-collection-newsticker-maps '(newsticker-mode-map))
-
-;;;###autoload
-(defun evil-collection-newsticker-setup ()
- "Set up `evil' bindings for `newsticker'."
- ;; plainview
- (evil-set-initial-state 'newsticker-mode 'normal)
- (evil-collection-define-key 'normal 'newsticker-mode-map
- ;; move
- "gk" 'newsticker-previous-feed
- "gj" 'newsticker-next-feed
-
- ;; mark
- "r" 'newsticker-mark-item-at-point-as-read
- "i" 'newsticker-mark-item-at-point-as-immortal
-
- ;; show/hide
- "o" 'newsticker-show-old-items
- "O" 'newsticker-hide-old-items
-
- ;; refresh
- "gr" 'newsticker-buffer-force-update
- "gR" 'newsticker-get-all-news
-
- ;; quit
- "q" 'newsticker-close-buffer)
-
- ;; treeview
- (evil-set-initial-state 'newsticker-treeview-list-mode 'normal)
- (evil-collection-define-key 'normal 'newsticker-treeview-list-mode-map
- [down-mouse-3] 'newsticker-treeview-list-menu)
-
- (evil-set-initial-state 'newsticker-treeview-item-mode 'normal)
- (evil-collection-define-key 'normal 'newsticker-treeview-item-mode-map
- [down-mouse-3] 'newsticker-treeview-item-menu)
-
- (evil-set-initial-state 'newsticker-treeview-mode 'normal)
- (evil-collection-define-key 'normal 'newsticker-treeview-mode-map
- ;; move
- "[[" 'newsticker-treeview-prev-feed
- "]]" 'newsticker-treeview-next-feed
- ;; The items in Newsticker List buffer has a particular keymap by text
- ;; property, where CR (C-m) and LF (C-j) are bound to
- ;; `newsticker-treeview-show-item'. According to the keymap precedence page,
- ;; the text property based keymap has a higher priority.
- ;;
- ;; Eval (info "(elisp)Searching Keymaps") if you have interests.
- ;;
- ;; Use M-j/M-k instead.
- (kbd "M-j") 'newsticker-treeview-next-item
- (kbd "M-k") 'newsticker-treeview-prev-item
- "gj" 'newsticker-treeview-next-new-or-immortal-item
- "gk" 'newsticker-treeview-prev-new-or-immortal-item
- (kbd "SPC") 'newsticker-treeview-next-page
- "J" 'newsticker-treeview-jump
-
- ;; mark
- "o" 'newsticker-treeview-mark-item-old
- "O" 'newsticker-treeview-mark-list-items-old
- "i" 'newsticker-treeview-toggle-item-immortal
-
- "b" 'newsticker-treeview-browse-url-item
- "B" 'newsticker-treeview-browse-url
-
- ;; group
- "A" 'newsticker-group-add-group
- "D" 'newsticker-group-delete-group
- "R" 'newsticker-group-rename-group
- "S" 'newsticker-treeview-save
- (kbd "M-m") 'newsticker-group-move-feed
- (kbd "<M-down>") 'newsticker-group-shift-feed-down
- (kbd "<M-up>") 'newsticker-group-shift-feed-up
- (kbd "<M-S-down>") 'newsticker-group-shift-group-down
- (kbd "<M-S-up>") 'newsticker-group-shift-group-up
-
- ;; refresh
- "gr" 'newsticker-treeview-update
- "gR" 'newsticker-get-all-news
-
- ;; quit
- "q" 'newsticker-treeview-quit))
-
-(provide 'evil-collection-newsticker)
-;;; evil-collection-newsticker.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/notmuch/README.org b/.config/emacs/lisp/evil-collection/modes/notmuch/README.org
deleted file mode 100644
index ea5fa4e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/notmuch/README.org
+++ /dev/null
@@ -1,142 +0,0 @@
-* notmuch
-
- Evil bindings for [[https://notmuchmail.org/][notmuch]].
-
-** notmuch-common-keymap
-
- Inherited by all notmuch buffer maps. Single-letter commands are relocated
- under the =g= prefix.
-
- | Command | Original | Evil |
- |----------------------------------------+----------+-----------|
- | =notmuch-help= | =?= | =g?= |
- | =notmuch-bury-or-kill-this-buffer= | =q= | =q= |
- | =notmuch-search= | =s= | =s= |
- | =notmuch-tree= | =z= | =S= |
- | =notmuch-mua-new-mail= | =m= | =C=, =cc= |
- | =notmuch-refresh-this-buffer= | =g=, === | =gr= |
- | =notmuch-refresh-all-buffers= | =M-== | =gA= |
- | =notmuch-poll-and-refresh-this-buffer= | =G= | =gR= |
- | =notmuch-jump-search= | =j= | =J= |
-
-** notmuch-show-mode-map
-
- | Command | Original | Evil |
- |---------------------------------------------------------+-----------+-------------|
- | =notmuch-show-next-open-message= | =n= | =gj= |
- | =notmuch-show-previous-open-message= | =p= | =gk= |
- | =notmuch-show-next-message= | =N= | =]]=, =C-j= |
- | =notmuch-show-previous-message= | =P= | =[[=, =C-k= |
- | =notmuch-show-next-thread-show= | =M-n= | =M-j= |
- | =notmuch-show-previous-thread-show= | =M-p= | =M-k= |
- | =notmuch-show-archive-message-then-next-or-next-thread= | =a= | =a= |
- | =notmuch-show-archive-thread-then-next= | =A= | =A= |
- | =notmuch-show-archive-thread-then-exit= | =X= | =X= |
- | =notmuch-show-archive-message-then-next-or-exit= | =x= | =x= |
- | =notmuch-show-reply-sender= | =r= | =cr= |
- | =notmuch-show-reply= | =R= | =cR= |
- | =notmuch-show-forward-message= | =f= | =cf= |
- | =notmuch-show-filter-thread= | =l= | =S= |
- | =notmuch-show-save-attachments= | =w= | =p= |
- | =notmuch-show-toggle-visibility-headers= | =h= | =H= |
- | =notmuch-tag-jump= | =k= | =K= |
- | =notmuch-show-tag-all= | =*= | =*= |
- | =notmuch-show-add-tag= | =+= | =+= |
- | =notmuch-show-remove-tag= | =-= | =-= |
- | =notmuch-show-toggle-message= | =RET= | =RET= |
- | =notmuch-show-toggle-thread-indentation= | =<= | =<= |
- | =notmuch-show-next-button= | =TAB= | =TAB= |
- | =notmuch-show-previous-button= | =backtab= | =backtab= |
- | =notmuch-show-pipe-message= | =\vert= | =\vert= |
- | =notmuch-show-stash-map= | =c= | =ys= |
- | =notmuch-show-part-map= | =.= | =.= |
- | =notmuch-tree-from-show-current-query= | =Z= | =zv= |
- | =goto-address-at-point= | n/a | =gd= |
- | =evil-collection-notmuch-show-toggle-delete= | n/a | =d= |
- | =evil-collection-notmuch-show-toggle-flagged= | n/a | === |
-
-** notmuch-tree-mode-map
-
- | Command | Original | Evil |
- |--------------------------------------------------+----------+-----------|
- | =notmuch-tree-next-matching-message= | =n= | =gj= |
- | =notmuch-tree-prev-matching-message= | =p= | =gk= |
- | =notmuch-tree-next-message= | =N= | =]]= |
- | =notmuch-tree-prev-message= | =P= | =[[= |
- | =notmuch-tree-next-thread= | =M-n= | =C-j= |
- | =notmuch-tree-prev-thread= | =M-p= | =C-k= |
- | =notmuch-tree-archive-message-then-next= | =a= | =a= |
- | =notmuch-tree-archive-thread-then-next= | =A= | =A= |
- | =notmuch-tree-archive-thread-then-exit= | =X= | (default) |
- | =notmuch-tree-archive-message-then-next-or-exit= | =x= | (default) |
- | =notmuch-show-reply-sender= | =r= | =cr= |
- | =notmuch-show-reply= | =R= | =cR= |
- | =notmuch-tree-filter= | =l= | (default) |
- | =notmuch-tree-to-tree= | =z= | =s= |
- | =notmuch-search-from-tree-current-query= | =S= | =zv= |
- | =notmuch-show-save-attachments= | =w= | (default) |
- | =notmuch-tag-jump= | =k= | =K= |
- | =notmuch-tree-tag-thread= | =*= | =*= |
- | =notmuch-tree-add-tag= | =+= | =+= |
- | =notmuch-tree-remove-tag= | =-= | =-= |
- | =notmuch-tree-show-message= | =RET= | =RET= |
- | =notmuch-tree-resume-message= | =e= | =e= |
- | =notmuch-show-pipe-message= | =\vert= | =\vert= |
- | =evil-collection-notmuch-tree-toggle-delete= | n/a | =d= |
- | =evil-collection-notmuch-tree-toggle-unread= | n/a | =!= |
- | =evil-collection-notmuch-tree-toggle-flagged= | n/a | === |
-
-** notmuch-search-mode-map
-
- | Command | Original | Evil |
- |-------------------------------------------------+----------+------------|
- | =notmuch-search-next-thread= | =n= | =j= (evil) |
- | =notmuch-search-previous-thread= | =p= | =k= (evil) |
- | =notmuch-search-archive-thread= | =a= | =a= |
- | =notmuch-search-reply-to-thread-sender= | =r= | =cr= |
- | =notmuch-search-reply-to-thread= | =R= | =cR= |
- | =notmuch-search-filter= | =l= | =S= |
- | =notmuch-search-filter-by-tag= | =t= | =t= |
- | =notmuch-search-toggle-order= | =o= | =o= |
- | =notmuch-tag-jump= | =k= | =K= |
- | =notmuch-search-tag-all= | =*= | =*= |
- | =notmuch-search-add-tag= | =+= | =+= |
- | =notmuch-search-remove-tag= | =-= | =-= |
- | =notmuch-search-show-thread= | =RET= | =RET= |
- | =notmuch-tree-from-search-current-query= | =Z= | =zv= |
- | =notmuch-bury-or-kill-this-buffer= | =x= | =q= |
- | =notmuch-search-stash-map= | =c= | =ys= |
- | =compose-mail= | n/a | =cc= |
- | =compose-mail-other-frame= | n/a | =cC= |
- | =evil-collection-notmuch-search-toggle-delete= | n/a | =d= |
- | =evil-collection-notmuch-search-toggle-unread= | n/a | =!= |
- | =evil-collection-notmuch-search-toggle-flagged= | n/a | === |
-
-** notmuch-hello-mode-map
-
- | Command | Original | Evil |
- |-------------------------------------+----------+------------------|
- | =notmuch-version= | =v= | =g?= |
- | =widget-forward= | =TAB= | =TAB= |
- | =widget-backward= | =S-TAB= | =S-TAB=, =C-TAB= |
- | =evil-collection-notmuch-hello-ret= | n/a | =RET= |
-
-** New commands
-
- | Command | Key | |
- |-------------------------------------------------+-------+----------------------------------------------------------------|
- | =evil-collection-notmuch-show-toggle-delete= | =d= | toggle =evil-collection-notmuch-delete-tag= on current message |
- | =evil-collection-notmuch-tree-toggle-delete= | =d= | tree variant |
- | =evil-collection-notmuch-search-toggle-delete= | =d= | search variant |
- | =evil-collection-notmuch-show-toggle-flagged= | === | toggle =flagged= tag |
- | =evil-collection-notmuch-tree-toggle-flagged= | === | |
- | =evil-collection-notmuch-search-toggle-flagged= | === | |
- | =evil-collection-notmuch-tree-toggle-unread= | =!= | toggle =unread= tag |
- | =evil-collection-notmuch-search-toggle-unread= | =!= | |
- | =evil-collection-notmuch-hello-ret= | =RET= | activate widget or button at point |
-
-** Customization
-
- | Variable | Default | Purpose |
- |--------------------------------------+-------------+------------------------------------------------------------------|
- | =evil-collection-notmuch-delete-tag= | ="deleted"= | Tag toggled by =d=. Set to ="trash"= for lieer/Gmail-style sync. |
diff --git a/.config/emacs/lisp/evil-collection/modes/notmuch/evil-collection-notmuch.el b/.config/emacs/lisp/evil-collection/modes/notmuch/evil-collection-notmuch.el
deleted file mode 100644
index 2256259..0000000
--- a/.config/emacs/lisp/evil-collection/modes/notmuch/evil-collection-notmuch.el
+++ /dev/null
@@ -1,256 +0,0 @@
-;;; evil-collection-notmuch.el --- Bindings for `notmuch' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, tools, evil
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `notmuch'.
-
-;;; Code:
-(require 'notmuch nil t)
-(require 'evil-collection)
-
-(defcustom evil-collection-notmuch-delete-tag "deleted"
- "Tag toggled by the delete bindings (`d') in notmuch modes.
-
-Defaults to \"deleted\" for backwards compatibility with the self-hosted
-notmuch convention where a cron job removes files matching `tag:deleted'.
-
-Set to \"trash\" when syncing with services that map a Trash tag/label
-back to the server (e.g. lieer/Gmail's TRASH label, or an IMAP setup
-that moves trashed messages out of the inbox)."
- :type 'string
- :group 'evil-collection-notmuch)
-
-(declare-function notmuch-show-get-tags "notmuch-show")
-(declare-function notmuch-show-tag "notmuch-show")
-(declare-function notmuch-search-get-tags "notmuch")
-(declare-function notmuch-search-tag "notmuch")
-(declare-function notmuch-tree-tag "notmuch-tree")
-
-(declare-function widget-field-at "wid-edit")
-(declare-function widget-field-activate "wid-edit")
-(declare-function widget-button-press "wid-edit")
-
-;; Since all the other maps in `evil-collection-notmuch-maps`
-;; have notmuch-common-keymap as parent
-;; https://git.notmuchmail.org/git?p=notmuch;a=blob;f=emacs/notmuch-hello.el;h=fa31694ff0f79a7f2781849394390a673f75aade;hb=HEAD#l651
-;;
-;; When `evil-collection-setup-hook` runs, if it changes keymaps
-;; using a `dolist` over `evil-collection-notmuch-maps`, then a binding might
-;; see 2 changes at once. To avoid that, notmuch-common-keymap is last
-(defconst evil-collection-notmuch-maps '(notmuch-hello-mode-map
- notmuch-show-mode-map
- notmuch-show-part-map
- notmuch-tree-mode-map
- notmuch-search-mode-map
- notmuch-search-stash-map
- notmuch-common-keymap))
-
-(defun evil-collection-notmuch-toggle-tag (tag mode &optional next-function)
- "Toggle TAG tag for message in MODE."
- (let ((get (intern (format "notmuch-%s-get-tags" mode)))
- (set (intern (format "notmuch-%s-tag" mode)))
- (next (or next-function (intern (format "notmuch-%s-next-message" mode)))))
- (funcall set (list (concat (if (member tag (funcall get))
- "-" "+")
- tag)))
- (funcall next)))
-
-(defun evil-collection-notmuch-show-toggle-delete ()
- "Toggle `evil-collection-notmuch-delete-tag' for message."
- (interactive)
- (evil-collection-notmuch-toggle-tag evil-collection-notmuch-delete-tag "show"))
-
-(defun evil-collection-notmuch-tree-toggle-delete ()
- "Toggle `evil-collection-notmuch-delete-tag' for message."
- (interactive)
- (evil-collection-notmuch-toggle-tag evil-collection-notmuch-delete-tag "tree"))
-
-(defun evil-collection-notmuch-search-toggle-delete ()
- "Toggle `evil-collection-notmuch-delete-tag' for message."
- (interactive)
- (evil-collection-notmuch-toggle-tag evil-collection-notmuch-delete-tag "search" 'notmuch-search-next-thread))
-
-(defun evil-collection-notmuch-tree-toggle-unread ()
- "Toggle unread tag for message."
- (interactive)
- (evil-collection-notmuch-toggle-tag "unread" "tree"))
-
-(defun evil-collection-notmuch-search-toggle-unread ()
- "Toggle unread tag for message."
- (interactive)
- (evil-collection-notmuch-toggle-tag "unread" "search" 'notmuch-search-next-thread))
-
-(defun evil-collection-notmuch-show-toggle-flagged ()
- "Toggle flagged tag for message."
- (interactive)
- (evil-collection-notmuch-toggle-tag "flagged" "show"))
-
-(defun evil-collection-notmuch-tree-toggle-flagged ()
- "Toggle flagged tag for message."
- (interactive)
- (evil-collection-notmuch-toggle-tag "flagged" "tree"))
-
-(defun evil-collection-notmuch-search-toggle-flagged ()
- "Toggle flagged tag for message."
- (interactive)
- (evil-collection-notmuch-toggle-tag "flagged" "search" 'notmuch-search-next-thread))
-
-(defun evil-collection-notmuch-hello-ret ()
- (interactive)
- (if (widget-field-at (point))
- (call-interactively #'widget-field-activate)
- (call-interactively #'widget-button-press)))
-
-;;;###autoload
-(defun evil-collection-notmuch-setup ()
- "Set up `evil' bindings for `notmuch'."
- (evil-collection-inhibit-insert-state 'notmuch-show-mode-map)
- (evil-collection-inhibit-insert-state 'notmuch-search-mode-map)
- (evil-collection-inhibit-insert-state 'notmuch-tree-mode-map)
-
- (evil-set-initial-state 'notmuch-show-mode 'normal)
- (evil-set-initial-state 'notmuch-search-mode 'normal)
- (evil-set-initial-state 'notmuch-hello-mode 'normal)
- (evil-set-initial-state 'notmuch-tree-mode 'normal)
-
- (evil-collection-define-key 'normal 'notmuch-common-keymap
- "g?" 'notmuch-help
- "q" 'notmuch-bury-or-kill-this-buffer
- "s" 'notmuch-search
- "S" 'notmuch-tree
- "C" 'notmuch-mua-new-mail ; like mu4e
- "cc" 'notmuch-mua-new-mail ; like mu4e
- "gr" 'notmuch-refresh-this-buffer
- "gA" 'notmuch-refresh-all-buffers
- "gR" 'notmuch-poll-and-refresh-this-buffer
- "J" 'notmuch-jump-search)
-
- (evil-collection-define-key 'normal 'notmuch-hello-mode-map
- "g?" 'notmuch-version
- (kbd "TAB") 'widget-forward
- (kbd "RET") 'evil-collection-notmuch-hello-ret
- (kbd "S-TAB") 'widget-backward
- (kbd "<C-tab>") 'widget-backward)
-
- (evil-collection-define-key 'normal 'notmuch-show-mode-map
- "gd" 'goto-address-at-point
- "p" 'notmuch-show-save-attachments ; like mu4e
- "A" 'notmuch-show-archive-thread-then-next
- "S" 'notmuch-show-filter-thread
- "K" 'notmuch-tag-jump
- "C" 'notmuch-mua-new-mail ; like mu4e
- "cc" 'notmuch-mua-new-mail ; like mu4e
- "cR" 'notmuch-show-reply
- "cf" 'notmuch-show-forward-message
- "X" 'notmuch-show-archive-thread-then-exit
- "zv" 'notmuch-tree-from-show-current-query ; like mu4e-conversation
- "<" 'notmuch-show-toggle-thread-indentation
- "a" 'notmuch-show-archive-message-then-next-or-next-thread
- "d" 'evil-collection-notmuch-show-toggle-delete
- "=" 'evil-collection-notmuch-show-toggle-flagged
- "H" 'notmuch-show-toggle-visibility-headers
- "gj" 'notmuch-show-next-open-message
- "gk" 'notmuch-show-previous-open-message
- "]]" 'notmuch-show-next-message
- "[[" 'notmuch-show-previous-message
- (kbd "C-j") 'notmuch-show-next-message
- (kbd "C-k") 'notmuch-show-previous-message
- (kbd "M-j") 'notmuch-show-next-thread-show
- (kbd "M-k") 'notmuch-show-previous-thread-show
- "cr" 'notmuch-show-reply-sender
- (kbd "x") 'notmuch-show-archive-message-then-next-or-exit
- "|" 'notmuch-show-pipe-message
- "*" 'notmuch-show-tag-all
- "-" 'notmuch-show-remove-tag
- "+" 'notmuch-show-add-tag
- (kbd "TAB") 'notmuch-show-next-button
- (kbd "<backtab>") 'notmuch-show-previous-button
- (kbd "RET") 'notmuch-show-toggle-message
- "." 'notmuch-show-part-map)
-
- (evil-collection-define-key 'normal 'notmuch-tree-mode-map
- "g?" 'notmuch-help
- "q" 'notmuch-tree-quit
- "S" 'notmuch-tree-to-search
- "C" 'notmuch-mua-new-mail ; like mu4e
- "cc" 'notmuch-mua-new-mail ; like mu4e
- "J" 'notmuch-jump-search
- "zv" 'notmuch-search-from-tree-current-query ; like mu4e-conversation
- "cr" 'notmuch-show-reply-sender ; like mu4e
- "cR" 'notmuch-show-reply
- "d" 'evil-collection-notmuch-tree-toggle-delete
- "!" 'evil-collection-notmuch-tree-toggle-unread
- "=" 'evil-collection-notmuch-tree-toggle-flagged
- "K" 'notmuch-tag-jump
- (kbd "RET") 'notmuch-tree-show-message
- [mouse-1] 'notmuch-tree-show-message
- "A" 'notmuch-tree-archive-thread-then-next
- "a" 'notmuch-tree-archive-message-then-next
- "s" 'notmuch-tree-to-tree
- "gj" 'notmuch-tree-next-matching-message
- "gk" 'notmuch-tree-prev-matching-message
- "]]" 'notmuch-tree-next-message
- "[[" 'notmuch-tree-prev-message
- (kbd "C-k") 'notmuch-tree-prev-thread
- (kbd "C-j") 'notmuch-tree-next-thread
- "|" 'notmuch-show-pipe-message
- "-" 'notmuch-tree-remove-tag
- "+" 'notmuch-tree-add-tag
- "*" 'notmuch-tree-tag-thread
- "e" 'notmuch-tree-resume-message)
-
- (dolist (state '(normal visual))
- (evil-collection-define-key state 'notmuch-search-mode-map
- "cC" 'compose-mail-other-frame
- "J" 'notmuch-jump-search
- "S" 'notmuch-search-filter
- "K" 'notmuch-tag-jump
- "o" 'notmuch-search-toggle-order
- "zv" 'notmuch-tree-from-search-current-query
- "*" 'notmuch-search-tag-all
- "a" 'notmuch-search-archive-thread
- "cc" 'compose-mail ; like mu4e
- "d" 'evil-collection-notmuch-search-toggle-delete
- "!" 'evil-collection-notmuch-search-toggle-unread
- "=" 'evil-collection-notmuch-search-toggle-flagged
- "q" 'notmuch-bury-or-kill-this-buffer
- "cr" 'notmuch-search-reply-to-thread-sender
- "cR" 'notmuch-search-reply-to-thread
- "t" 'notmuch-search-filter-by-tag
- [mouse-1] 'notmuch-search-show-thread
- "-" 'notmuch-search-remove-tag
- "+" 'notmuch-search-add-tag
- (kbd "RET") 'notmuch-search-show-thread))
-
- ;; ys
- (evil-collection-define-operator-key 'yank 'notmuch-search-mode-map
- "s" 'notmuch-search-stash-map)
-
- ;; ys
- (evil-collection-define-operator-key 'yank 'notmuch-show-mode-map
- "s" 'notmuch-show-stash-map))
-
-(provide 'evil-collection-notmuch)
-;;; evil-collection-notmuch.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/nov/evil-collection-nov.el b/.config/emacs/lisp/evil-collection/modes/nov/evil-collection-nov.el
deleted file mode 100644
index aa1d86d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/nov/evil-collection-nov.el
+++ /dev/null
@@ -1,67 +0,0 @@
-;;; evil-collection-nov.el --- Bindings for `nov' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, epub
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for`nov'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'nov nil t)
-
-(defvar nov-mode-map)
-
-(defconst evil-collection-nov-maps '(nov-mode-map))
-
-;;;###autoload
-(defun evil-collection-nov-setup ()
- "Set up `evil' bindings for `nov'."
- (evil-collection-define-key 'normal 'nov-mode-map
- "gr" 'nov-render-document
- "s" 'nov-view-source
- "S" 'nov-view-content-source
- "g?" 'nov-display-metadata
- "gj" 'nov-next-document
- (kbd "C-j") 'nov-next-document
- (kbd "M-j") 'nov-next-document
- "]]" 'nov-next-document
- "gk" 'nov-previous-document
- (kbd "C-k") 'nov-previous-document
- (kbd "M-k") 'nov-previous-document
- "[[" 'nov-previous-document
-
- "t" 'nov-goto-toc
- "i" 'nov-goto-toc
- (kbd "RET") 'nov-browse-url
- (kbd "<follow-link>") 'mouse-face
- (kbd "<mouse-2>") 'nov-browse-url
- (kbd "TAB") 'shr-next-link
- (kbd "M-TAB") 'shr-previous-link
- (kbd "<backtab>") 'shr-previous-link
- (kbd "SPC") 'nov-scroll-up
- (kbd "S-SPC") 'nov-scroll-down
- (kbd "DEL") 'nov-scroll-down))
-
-(provide 'evil-collection-nov)
-;;; evil-collection-nov.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/omnisharp/evil-collection-omnisharp.el b/.config/emacs/lisp/evil-collection/modes/omnisharp/evil-collection-omnisharp.el
deleted file mode 100644
index e032782..0000000
--- a/.config/emacs/lisp/evil-collection/modes/omnisharp/evil-collection-omnisharp.el
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; evil-collection-omnisharp.el --- Evil bindings for omnisharp -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 Omair Majid
-
-;; Author: Omair Majid <omajid@redhat.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, omnisharp, convenience
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Omnisharp.
-
-;;; Code:
-(require 'omnisharp nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-omnisharp-maps '(omnisharp-mode-map))
-
-;;;###autoload
-(defun evil-collection-omnisharp-setup ()
- "Set up `evil' bindings for `omnisharp'."
- (evil-collection-define-key '(normal visual) 'omnisharp-mode-map
- "gd" 'omnisharp-go-to-definition
- "gR" 'omnisharp-reload-solution
- "K" 'omnisharp-current-type-documentation))
-
-(provide 'evil-collection-omnisharp)
-;;; evil-collection-omnisharp.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/org-agenda/evil-collection-org-agenda.el b/.config/emacs/lisp/evil-collection/modes/org-agenda/evil-collection-org-agenda.el
deleted file mode 100644
index 8d17f22..0000000
--- a/.config/emacs/lisp/evil-collection/modes/org-agenda/evil-collection-org-agenda.el
+++ /dev/null
@@ -1,147 +0,0 @@
-;;; evil-collection-org-agenda.el --- Evil bindings for org-agenda -*- lexical-binding: t -*-
-
-;; Copyright (C) 2026 Ashish Panigrahi
-
-;; Author: Ashish Panigrahi <public@ashishpanigrahi.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, org, org-agenda, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil basic bindings for `org-agenda-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'org-agenda nil t)
-
-(defconst evil-collection-org-agenda-maps '(org-agenda-mode-map))
-
-(declare-function org-agenda-next-line "org-agenda")
-(declare-function org-agenda-previous-line "org-agenda")
-(declare-function org-agenda-next-item "org-agenda")
-(declare-function org-agenda-previous-item "org-agenda")
-(declare-function org-agenda-forward-block "org-agenda")
-(declare-function org-agenda-backward-block "org-agenda")
-(declare-function org-agenda-goto "org-agenda")
-(declare-function org-agenda-switch-to "org-agenda")
-(declare-function org-agenda-show "org-agenda")
-(declare-function org-agenda-quit "org-agenda")
-(declare-function org-agenda-exit "org-agenda")
-(declare-function org-agenda-redo "org-agenda")
-(declare-function org-agenda-redo-all "org-agenda")
-(declare-function org-agenda-later "org-agenda")
-(declare-function org-agenda-earlier "org-agenda")
-(declare-function org-agenda-goto-today "org-agenda")
-(declare-function org-agenda-goto-date "org-agenda")
-(declare-function org-agenda-day-view "org-agenda")
-(declare-function org-agenda-week-view "org-agenda")
-(declare-function org-agenda-month-view "org-agenda")
-(declare-function org-agenda-year-view "org-agenda")
-(declare-function org-agenda-todo "org-agenda")
-(declare-function org-agenda-schedule "org-agenda")
-(declare-function org-agenda-deadline "org-agenda")
-(declare-function org-agenda-set-tags "org-agenda")
-(declare-function org-agenda-priority "org-agenda")
-(declare-function org-agenda-refile "org-agenda")
-(declare-function org-agenda-archive "org-agenda")
-(declare-function org-agenda-kill "org-agenda")
-(declare-function org-agenda-add-note "org-agenda")
-(declare-function org-agenda-open-link "org-agenda")
-(declare-function org-agenda-filter-by-tag "org-agenda")
-(declare-function org-agenda-filter-remove-all "org-agenda")
-(declare-function org-agenda-clock-in "org-agenda")
-(declare-function org-agenda-clock-out "org-agenda")
-(declare-function org-agenda-clock-cancel "org-agenda")
-(declare-function org-agenda-clock-goto "org-agenda")
-(declare-function org-agenda-bulk-mark "org-agenda")
-(declare-function org-agenda-bulk-unmark "org-agenda")
-(declare-function org-agenda-bulk-action "org-agenda")
-(declare-function org-save-all-org-buffers "org")
-
-;;;###autoload
-(defun evil-collection-org-agenda-setup ()
- "Set up `evil' bindings for `org-agenda'."
- (evil-set-initial-state 'org-agenda-mode 'normal)
- (evil-collection-set-readonly-bindings 'org-agenda-mode-map)
-
- (evil-collection-define-key 'normal 'org-agenda-mode-map
- ;; Motion
- "j" 'org-agenda-next-line
- "k" 'org-agenda-previous-line
- "gj" 'org-agenda-next-item
- "gk" 'org-agenda-previous-item
- (kbd "C-j") 'org-agenda-next-item
- (kbd "C-k") 'org-agenda-previous-item
- "]]" 'org-agenda-forward-block
- "[[" 'org-agenda-backward-block
-
- ;; Open / visit
- (kbd "RET") 'org-agenda-switch-to
- [tab] 'org-agenda-goto
- (kbd "TAB") 'org-agenda-goto
- (kbd "SPC") 'org-agenda-show
- "go" 'org-agenda-open-link
-
- ;; Quit / refresh
- "q" 'org-agenda-quit
- "ZZ" 'org-agenda-quit
- "ZQ" 'org-agenda-exit
- "x" 'org-agenda-exit
- "gr" 'org-agenda-redo
- "gR" 'org-agenda-redo-all
- "S" 'org-save-all-org-buffers
-
- ;; Date navigation
- "L" 'org-agenda-later
- "H" 'org-agenda-earlier
- "." 'org-agenda-goto-today
- "J" 'org-agenda-goto-date
- "vd" 'org-agenda-day-view
- "vw" 'org-agenda-week-view
- "vm" 'org-agenda-month-view
- "vy" 'org-agenda-year-view
-
- ;; Entry actions
- "t" 'org-agenda-todo
- "s" 'org-agenda-schedule
- "d" 'org-agenda-deadline
- "T" 'org-agenda-set-tags
- "p" 'org-agenda-priority
- "r" 'org-agenda-refile
- "A" 'org-agenda-archive
- "D" 'org-agenda-kill
- "n" 'org-agenda-add-note
-
- ;; Filtering
- "f" 'org-agenda-filter-by-tag
- "F" 'org-agenda-filter-remove-all
-
- ;; Clocking
- "I" 'org-agenda-clock-in
- "O" 'org-agenda-clock-out
- "X" 'org-agenda-clock-cancel
- "gJ" 'org-agenda-clock-goto
-
- ;; Bulk actions
- "m" 'org-agenda-bulk-mark
- "u" 'org-agenda-bulk-unmark
- "B" 'org-agenda-bulk-action))
-
-(provide 'evil-collection-org-agenda)
-;;; evil-collection-org-agenda.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/org-present/evil-collection-org-present.el b/.config/emacs/lisp/evil-collection/modes/org-present/evil-collection-org-present.el
deleted file mode 100644
index 745db01..0000000
--- a/.config/emacs/lisp/evil-collection/modes/org-present/evil-collection-org-present.el
+++ /dev/null
@@ -1,65 +0,0 @@
-;;; evil-collection-org-present.el --- Bindings for `org-present' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Carla Cao
-
-;; Author: Carla Cao <ccao001@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, minimalist, presentation
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for`org-present'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'org-present nil t)
-
-(defconst evil-collection-org-present-maps '(org-present-mode-keymap))
-
-;;;###autoload
-(defun evil-collection-org-present-setup ()
- "Set up `evil' bindings for `org-present'."
- (evil-collection-define-key 'normal 'org-present-mode-keymap
- "J" 'org-present-next
- "K" 'org-present-prev
- "gj" 'org-present-next
- "gk" 'org-present-prev
- "]]" 'org-present-next
- "[[" 'org-present-prev
- (kbd "SPC") 'org-present-next
- (kbd "S-SPC") 'org-present-prev
- (kbd "C-j") 'org-present-next
- (kbd "M-j") 'org-present-next
- (kbd "C-k") 'org-present-prev
- (kbd "M-k") 'org-present-prev
- "zi" 'org-present-big
- "zo" 'org-present-small
- "+" 'org-present-big
- "=" 'org-present-big
- "-" 'org-present-small
- "q" 'org-present-quit
- "ZQ" 'org-present-quit
- "ZZ" 'org-present-quit
- "r" 'org-present-read-only
- "gw" 'org-present-read-write
- "gg" 'org-present-beginning
- "G" 'org-present-end))
-
-(provide 'evil-collection-org-present)
-;;; evil-collection-org-present.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/org-roam/evil-collection-org-roam.el b/.config/emacs/lisp/evil-collection/modes/org-roam/evil-collection-org-roam.el
deleted file mode 100644
index 11acb38..0000000
--- a/.config/emacs/lisp/evil-collection/modes/org-roam/evil-collection-org-roam.el
+++ /dev/null
@@ -1,56 +0,0 @@
-;;; evil-collection-org-roam.el --- Bindings for `org-roam' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for org-roam.
-
-;;; Code:
-(require 'evil-collection)
-(require 'org-roam nil t)
-
-(defvar org-roam-mode-map)
-(defconst evil-collection-org-roam-maps '(org-roam-grep-map
- org-roam-mode-map
- org-roam-node-map
- org-roam-preview-map))
-
-(defun evil-collection-org-roam-setup ()
- "Set up `evil' bindings for org-roam."
- (evil-collection-define-key 'normal 'org-roam-mode-map
- [C-return] 'org-roam-buffer-visit-thing
- (kbd "C-m") 'org-roam-buffer-visit-thing
- [remap revert-buffer] 'org-roam-buffer-refresh
- "gr" 'org-roam-buffer-refresh)
-
- (evil-collection-define-key 'normal 'org-roam-node-map
- [remap org-roam-buffer-visit-thing] 'org-roam-node-visit)
-
- (evil-collection-define-key 'normal 'org-roam-preview-map
- [remap org-roam-buffer-visit-thing] 'org-roam-preview-visit)
-
- (evil-collection-define-key 'normal 'org-roam-grep-map
- [remap org-roam-buffer-visit-thing] 'org-roam-grep-visit))
-
-(provide 'evil-collection-org-roam)
-;;; evil-collection-org-roam.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/org/README.org b/.config/emacs/lisp/evil-collection/modes/org/README.org
deleted file mode 100644
index 42f9b25..0000000
--- a/.config/emacs/lisp/evil-collection/modes/org/README.org
+++ /dev/null
@@ -1,46 +0,0 @@
-* org
-
- Basic Evil bindings for [[https://orgmode.org/][org-mode]]. Not intended to supersede
- [[https://github.com/Somelauw/evil-org-mode][evil-org-mode]] — only a handful of
- overrides that align Org with Evil motion idioms.
-
-** Key bindings
-
-*** org-mode-map (normal)
-
- | Command | Original | Evil |
- |----------------+----------+-----------|
- | =org-cycle= | =TAB= | =<tab>= |
- | =org-shifttab= | =S-TAB= | =<S-tab>= |
-
-*** org-mode-map (motion)
-
- | Command | Original | Evil |
- |--------------------------+----------+------|
- | =org-backward-paragraph= | n/a | ={= |
- | =org-forward-paragraph= | n/a | =}= |
- | =org-backward-sentence= | n/a | =(= |
- | =org-forward-sentence= | n/a | =)= |
-
-*** org-capture-mode-map (normal)
-
- | Command | Original | Evil |
- |------------------------+-----------+------|
- | =org-capture-finalize= | =C-c C-c= | =ZZ= |
- | =org-capture-kill= | =C-c C-k= | =ZQ= |
- | =org-capture-refile= | =C-c C-w= | =ZR= |
-
-*** org-read-date-minibuffer-local-map
-
- Calendar navigation in the date prompt:
-
- | Command | Key |
- |-------------------------------+-------|
- | =org-calendar-backward-day= | =M-h= |
- | =org-calendar-forward-day= | =M-l= |
- | =org-calendar-backward-week= | =M-k= |
- | =org-calendar-forward-week= | =M-j= |
- | =org-calendar-backward-month= | =M-H= |
- | =org-calendar-forward-month= | =M-L= |
- | =org-calendar-backward-year= | =M-K= |
- | =org-calendar-forward-year= | =M-J= |
diff --git a/.config/emacs/lisp/evil-collection/modes/org/evil-collection-org.el b/.config/emacs/lisp/evil-collection/modes/org/evil-collection-org.el
deleted file mode 100644
index 5973bb2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/org/evil-collection-org.el
+++ /dev/null
@@ -1,87 +0,0 @@
-;;; evil-collection-org.el --- Evil bindings for org -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, org, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil basic bindings for org-mode. It's NOT intended to supersede
-;; `evil-org-mode'.
-;;
-
-;;; Code:
-(require 'evil-collection)
-(require 'org nil t)
-
-
-(defconst evil-collection-org-maps '(org-mode-map
- org-capture-mode-map
- org-read-date-minibuffer-local-map))
-
-(declare-function org-shifttab "org")
-(declare-function org-backward-paragraph "org")
-(declare-function org-forward-paragraph "org")
-(declare-function org-backward-sentence "org")
-(declare-function org-forward-sentence "org")
-(declare-function org-capture-finalize "org-capture")
-(declare-function org-capture-kill "org-capture")
-(declare-function org-capture-refile "org-capture")
-
-(declare-function org-calendar-forward-day "org")
-(declare-function org-calendar-backward-day "org")
-(declare-function org-calendar-forward-week "org")
-(declare-function org-calendar-backward-week "org")
-(declare-function org-calendar-forward-month "org")
-(declare-function org-calendar-backward-month "org")
-(declare-function org-calendar-forward-year "org")
-(declare-function org-calendar-backward-year "org")
-(declare-function org-defkey "org")
-
-;;;###autoload
-(defun evil-collection-org-setup ()
- "Set up `evil' bindings for `org'."
- (evil-collection-define-key 'normal 'org-mode-map
- [tab] 'org-cycle
- [S-tab] 'org-shifttab)
-
- (evil-collection-define-key 'motion 'org-mode-map
- "{" 'org-backward-paragraph
- "}" 'org-forward-paragraph
- "(" 'org-backward-sentence
- ")" 'org-forward-sentence)
-
- (evil-collection-define-key 'normal 'org-capture-mode-map
- "ZZ" 'org-capture-finalize
- "ZQ" 'org-capture-kill
- "ZR" 'org-capture-refile)
-
- (org-defkey org-read-date-minibuffer-local-map (kbd "M-l") #'org-calendar-forward-day)
- (org-defkey org-read-date-minibuffer-local-map (kbd "M-h") #'org-calendar-backward-day)
- (org-defkey org-read-date-minibuffer-local-map (kbd "M-j") #'org-calendar-forward-week)
- (org-defkey org-read-date-minibuffer-local-map (kbd "M-k") #'org-calendar-backward-week)
- (org-defkey org-read-date-minibuffer-local-map (kbd "M-L") #'org-calendar-forward-month)
- (org-defkey org-read-date-minibuffer-local-map (kbd "M-H") #'org-calendar-backward-month)
- (org-defkey org-read-date-minibuffer-local-map (kbd "M-J") #'org-calendar-forward-year)
- (org-defkey org-read-date-minibuffer-local-map (kbd "M-K") #'org-calendar-backward-year))
-
-(provide 'evil-collection-org)
-;;; evil-collection-org.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/osx-dictionary/evil-collection-osx-dictionary.el b/.config/emacs/lisp/evil-collection/modes/osx-dictionary/evil-collection-osx-dictionary.el
deleted file mode 100644
index 8c18ef2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/osx-dictionary/evil-collection-osx-dictionary.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; evil-collection-osx-dictionary.el --- Evil bindings for osx-dictionary -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, osx-dictionary, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for osx-dictionary.
-
-;;; Code:
-(require 'evil-collection)
-(require 'osx-dictionary nil t)
-
-(defconst evil-collection-osx-dictionary-maps '(osx-dictionary-mode-map))
-
-;;;###autoload
-(defun evil-collection-osx-dictionary-setup ()
- "Set up `evil' bindings for `osx-dictionary'."
- (evil-set-initial-state 'osx-dictionary-mode 'normal)
-
- (evil-collection-define-key 'normal 'osx-dictionary-mode-map
- "q" 'osx-dictionary-quit
- "s" 'osx-dictionary-search-input
- "o" 'osx-dictionary-open-dictionary.app
- "r" 'osx-dictionary-read-word))
-
-(provide 'evil-collection-osx-dictionary)
-;;; evil-collection-osx-dictionary.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/outline/README.org b/.config/emacs/lisp/evil-collection/modes/outline/README.org
deleted file mode 100644
index e79174b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/outline/README.org
+++ /dev/null
@@ -1,39 +0,0 @@
-* outline
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Mode.html][outline-mode]].
-
- Folding sticks to Evil's =z= namespace, augmenting the defaults =zO=, =za=,
- =zc=, =zm=, =zo=, =zr= with outline-specific commands.
-
-** Key bindings
-
- Bindings applied to =outline-mode-map= in normal state.
-
- | Command | Original | Evil |
- |------------------------------------+-----------+--------------------|
- | =outline-hide-body= | =C-c C-t= | =zB= |
- | =outline-hide-entry= | =C-c C-c= | =zE= |
- | =outline-show-entry= | =C-c C-e= | =ze= |
- | =outline-hide-leaves= | =C-c C-l= | =zl= |
- | =outline-show-branches= | =C-c C-k= | =zK= |
- | =outline-show-children= | =C-c TAB= | =zk= |
- | =outline-hide-other= | =C-c C-o= | =zp= |
- | =outline-up-heading= | =C-c C-u= | =zu= |
- | =outline-previous-visible-heading= | =C-c C-p= | =[[= |
- | =outline-next-visible-heading= | =C-c C-n= | =]]= |
- | =outline-backward-same-level= | =C-c C-b= | =C-k=, =gk= |
- | =outline-forward-same-level= | =C-c C-f= | =C-j=, =gj= |
- | =outline-promote= | =C-c C-<= | =M-h= |
- | =outline-demote= | =C-c C->= | =M-l= |
- | =outline-move-subtree-up= | =C-c C-^= | =M-k= |
- | =outline-move-subtree-down= | =C-c C-v= | =M-j= |
- | =outline-insert-heading= | =C-c RET= | =M-<return>= |
- | =outline-show-all= | =C-c C-a= | =<backtab>= (opt.) |
- | =outline-toggle-children= | =C-c TAB= | =<tab>= (opt.) |
-
-** Customization
-
- | Variable | Default | Purpose |
- |--------------------------------------------------+---------+--------------------------------------------------------------------------------------------|
- | =evil-collection-outline-bind-tab-p= | =nil= | Bind =<tab>= / =<backtab>= to outline cycling (off by default to avoid clashing with Org). |
- | =evil-collection-outline-enable-in-minor-mode-p= | =t= | Inherit the same bindings in =outline-minor-mode= via auxiliary keymap parenting. |
diff --git a/.config/emacs/lisp/evil-collection/modes/outline/evil-collection-outline.el b/.config/emacs/lisp/evil-collection/modes/outline/evil-collection-outline.el
deleted file mode 100644
index 856387e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/outline/evil-collection-outline.el
+++ /dev/null
@@ -1,116 +0,0 @@
-;;; evil-collection-outline.el --- Evil bindings for outline-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, outline, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for outline-mode.
-
-;;; Code:
-(require 'evil-collection)
-(require 'outline)
-
-(defcustom evil-collection-outline-bind-tab-p nil
- "Enable <tab>-based bindings in Outline mode.
-
-Unless you have Evil bindings set up for Org mode, Org will
-preserve the Emacs-state <tab> keys in Org mode. Set this option
-to t if you want to inherit the <tab>-based bindings from Outline
-mode."
- :group 'evil-collection-outline
- :type 'boolean)
-
-(defcustom evil-collection-outline-enable-in-minor-mode-p t
- "Enable Outline mode bindings in Outline minor mode.
-
-To override individual bindings, modify the minor mode keymap.
-For example, \"zB\" is bound to `outline-hide-body' in Outline
-mode. To turn off this specific binding in Outline minor mode,
-you can do:
-
- (evil-define-minor-mode-key \='normal \='outline-minor-mode \"zB\" nil)"
- :group 'evil-collection-outline
- :type 'boolean)
-
-(defconst evil-collection-outline-maps '(outline-mode-map))
-
-;;;###autoload
-(defun evil-collection-outline-setup ()
- "Set up `evil' bindings for `outline'."
- (evil-set-initial-state 'outline-mode 'normal)
- (when evil-collection-outline-bind-tab-p
- (evil-collection-define-key 'normal 'outline-mode-map
- (kbd "<backtab>") 'outline-show-all ; Also "z r" by default
- (kbd "<tab>") 'outline-toggle-children)) ; Also "z a" by default
- (evil-collection-define-key 'normal 'outline-mode-map
- ;; folding
- ;; Evil default keys:
- ;; zO: Show recursively for current branch only.
- ;; za: Toggle first level like outline-toggle-children.
- ;; zc: Hide complete subtree.
- ;; zm: Show only root notes.
- ;; zo: Show current node like "za".
- ;; zr: Show everything.
- ;; "ze" 'outline-hide-entry
- ;; "zE" 'outline-show-entry
- ;; "zl" 'outline-hide-leaves
- ;; "zb" 'outline-show-branches
- ;; "zo" 'outline-hide-other
- "zB" 'outline-hide-body ; Hide all bodies, Emacs has "C-c C-t".
- "zE" 'outline-hide-entry ; Hide current body, Emacs has "C-c C-c".
- "ze" 'outline-show-entry ; Show current body only, not subtree, reverse of outline-hide-entry, Emacs has "C-c C-e".
- "zl" 'outline-hide-leaves ; Like `outline-hide-body' but for current subtree only, Emacs has "C-c C-l".
- "zK" 'outline-show-branches ; Show all children recursively but no body. Emacs has "C-c C-k".
- "zk" 'outline-show-children ; Direct children only unlike `outline-show-branches', and no content unlike `outline-show-entry' and `outline-toggle-children'. Emacs has "C-c TAB".
- "zu" 'outline-up-heading
-
- "zp" 'outline-hide-other ; Hide all nodes and bodies except current body. Emacs has "C-c C-o".
- ;; outline-hide-sublevels ; q ; Is it any different from `outline-hide-body'?
- ;; outline-hide-subtree ; Emacs has "C-c C-d", Evil has default "zc".
- ;; outline-show-subtree ; Emacs has "C-c C-s", Evil has default "zO".
-
- ;; TODO: To mark subtree ("C-c @"), we would need to define a tree object.
-
- ;; motion
- "[[" 'outline-previous-visible-heading
- "]]" 'outline-next-visible-heading
- (kbd "C-k") 'outline-backward-same-level
- (kbd "C-j") 'outline-forward-same-level
- "gk" 'outline-backward-same-level
- "gj" 'outline-forward-same-level
-
- (kbd "M-h") 'outline-promote ; Org-mode has "M-<left>", Evil-org has "M-h"
- (kbd "M-j") 'outline-move-subtree-down ; Org-mode has "M-<down>", Evil-org has "M-j"
- (kbd "M-k") 'outline-move-subtree-up ; Org-mode has "M-<up>", Evil-org has "M-k"
- (kbd "M-l") 'outline-demote ; Org-mode has "M-<right>", Evil-org has "M-l"
-
- (kbd "M-<return>") 'outline-insert-heading) ; Org-mode has "M-<return>"
-
- ;; Enable bindings in Outline minor mode if requested
- (when evil-collection-outline-enable-in-minor-mode-p
- (let* ((minor-map (evil-get-minor-mode-keymap 'normal 'outline-minor-mode))
- (major-map (evil-get-auxiliary-keymap outline-mode-map 'normal)))
- (set-keymap-parent minor-map major-map))))
-
-(provide 'evil-collection-outline)
-;;; evil-collection-outline.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ovpn-mode/evil-collection-ovpn-mode.el b/.config/emacs/lisp/evil-collection/modes/ovpn-mode/evil-collection-ovpn-mode.el
deleted file mode 100644
index ca6ec04..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ovpn-mode/evil-collection-ovpn-mode.el
+++ /dev/null
@@ -1,56 +0,0 @@
-;;; evil-collection-ovpn-mode.el --- Bindings for `ovpn-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2025 Vitor Leal
-
-;; Author: Vitor Leal <hello@vitorl.com>
-;; Maintainer: Vitor Leal <hello@vitorl.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for ovpn-mode.
-
-;;; Code:
-(require 'evil-collection)
-(require 'ovpn-mode nil t)
-
-(defvar ovpn-mode-map)
-(defconst evil-collection-ovpn-mode-maps '(ovpn-mode-map))
-
-;;;###autoload
-(defun evil-collection-ovpn-mode-setup ()
- "Set up `evil' bindings for `ovpn-mode'."
- (evil-collection-define-key 'normal 'ovpn-mode-map
- "s" 'ovpn-mode-start-vpn
- "n" 'ovpn-mode-start-vpn-with-namespace
- "q" 'ovpn-mode-stop-vpn
- "r" 'ovpn-mode-restart-vpn
- "i" 'ovpn-mode-info-vpn
- "$" 'ovpn-mode-buffer-vpn
- "o" 'ovpn-mode-edit-vpn
- "~" 'ovpn-mode-dir-filter
- "d" 'ovpn-mode-dir-set
- "a" 'ovpn-mode-active
- "J" 'ovpn-mode-ipv6-linux-toggle
- "T" 'ovpn-mode-spawn-term-in-namespace
- "B" 'ovpn-mode-spawn-browser-in-namespace
- "ZZ" 'quit-window
- "ZQ" 'evil-quit))
-
-(provide 'evil-collection-ovpn-mode)
-;;; evil-collection-ovpn-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/p-search/evil-collection-p-search.el b/.config/emacs/lisp/evil-collection/modes/p-search/evil-collection-p-search.el
deleted file mode 100644
index 346a5ed..0000000
--- a/.config/emacs/lisp/evil-collection/modes/p-search/evil-collection-p-search.el
+++ /dev/null
@@ -1,85 +0,0 @@
-;;; evil-collection-p-search.el --- Bindings for `p-search' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "29.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for p-search.
-
-;;; Code:
-(require 'evil-collection)
-(require 'p-search nil t)
-
-(defvar p-search-mode-map)
-(defconst evil-collection-p-search-maps '(p-search-mode-map))
-
-(defvar evil-collection-p-search-mode-map (make-sparse-keymap))
-
-;; The normal `p-search-mode-map' calls (suppress-keymap map t)
-;; which makes some of the evil bindings get to to 'ignore too
-;; for some reason. Use a separate minor mode to avoid all of that.
-(define-minor-mode evil-collection-p-search-mode
- "A minor mode to attach to `p-search' results"
- :group 'evil-collection-p-search-mode
- :keymap evil-collection-p-search-mode-map
- :lighter nil)
-
-(defun evil-collection-p-search-setup ()
- "Set up `evil' bindings for p-search."
- (add-hook 'p-search-mode-hook 'evil-collection-p-search-mode)
-
- (evil-collection-define-key 'normal 'evil-collection-p-search-mode-map
- "a" 'p-search-add-dwim
- "E" 'p-search-edit-dwim
- "C" 'p-search-add-candidate-generator
- "gr" 'p-search-refresh-buffer
- "gR" 'p-search-hard-refresh-buffer
- ;; (keymap-set map "i" #'p-search-importance)
- "x" 'p-search-kill-entity-at-point
- "gj" 'p-search-next-item
- (kbd "C-j") 'p-search-next-item
- "]]" 'p-search-next-item
- "o" 'p-search-observe
- "gk" 'p-search-prev-item
- (kbd "C-k") 'p-search-prev-item
- "[[" 'p-search-prev-item
- ;; (keymap-set map "r" #'p-search-reinstantiate-prior)
- "P" 'p-search-add-prior
- "+" 'p-search-increase-preview-size
- "-" 'p-search-decrease-preview-size
- (kbd "<tab>") 'p-search-toggle-section
- (kbd "<return>") 'p-search-find-document
- "gv" 'p-search-view-document
- "go" 'p-search-view-document
- (kbd "C-o") 'p-search-display-document
- "gO" 'p-search-display-document
- "q" 'p-search-quit
- ;; (keymap-set map "C-o" #'p-search-display-file)
- ;; (keymap-set map "1" #'p-search-show-level-1)
- ;; (keymap-set map "2" #'p-search-show-level-2)
- ;; (keymap-set map "3" #'p-search-show-level-3)
- "Jg" 'p-search-jump-candidate-generators
- "Jp" 'p-search-jump-priors
- "Jr" 'p-search-jump-results))
-
-(provide 'evil-collection-p-search)
-;;; evil-collection-p-search.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/p4/evil-collection-p4.el b/.config/emacs/lisp/evil-collection/modes/p4/evil-collection-p4.el
deleted file mode 100644
index 69d7892..0000000
--- a/.config/emacs/lisp/evil-collection/modes/p4/evil-collection-p4.el
+++ /dev/null
@@ -1,123 +0,0 @@
-;;; evil-collection-p4.el --- Evil bindings for P4 -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, p4, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for P4.
-
-;;; Code:
-(require 'p4 nil t)
-(require 'evil-collection)
-
-(defvar p4-basic-mode-map)
-(defvar p4-basic-list-mode-map)
-(defvar p4-opened-list-mode-map)
-(defvar p4-status-list-mode-map)
-(defvar p4-filelog-mode-map)
-(defvar p4-diff-mode-map)
-(defvar p4-annotate-mode-map)
-
-(defconst evil-collection-p4-maps '(p4-basic-mode-map
- p4-basic-list-mode-map
- p4-opened-list-mode-map
- p4-status-list-mode-map
- p4-filelog-mode-map
- p4-diff-mode-map
- p4-annotate-mode-map))
-
-;;;###autoload
-(defun evil-collection-p4-setup ()
- "Set up `evil' bindings for `p4'."
- (evil-set-initial-state 'p4-basic-mode 'normal)
- (evil-set-initial-state 'p4-basic-list-mode 'normal)
- (evil-set-initial-state 'p4-opened-list-mode-map 'normal)
- (evil-set-initial-state 'p4-status-list-mode-map 'normal)
- (evil-set-initial-state 'p4-filelog-mode-map 'normal)
- (evil-set-initial-state 'p4-diff-mode-map 'normal)
- (evil-set-initial-state 'p4-annotate-mode-map 'normal)
-
- (evil-collection-define-key 'normal 'p4-basic-mode-map
- [mouse-1] 'p4-buffer-mouse-clicked
- "k" 'evil-previous-line
- "j" 'evil-next-line
- (kbd "C-j") 'p4-forward-active-link
- (kbd "C-k") 'p4-backward-active-link
- (kbd "RET") 'p4-buffer-commands
- "q" 'quit-window
- "gr" 'revert-buffer
- "]]" 'p4-scroll-down-1-window
- "[[" 'p4-scroll-up-1-window
- "gg" 'p4-top-of-buffer
- "G" 'p4-bottom-of-buffer
- "=" 'delete-other-windows)
-
- (evil-collection-define-key 'normal 'p4-basic-list-mode-map
- (kbd "RET") 'p4-basic-list-activate)
-
- (evil-collection-define-key 'normal 'p4-opened-list-mode-map
- "R" 'p4-revert
- "T" 'p4-opened-list-type
- "C" 'p4-opened-list-change)
-
- (evil-collection-define-key 'normal 'p4-status-list-mode-map
- (kbd "RET") 'p4-status-list-activate)
-
- (evil-collection-define-key 'normal 'p4-filelog-mode-map
- "d" 'p4-diff2
- "gf" 'p4-find-file-other-window
- "S" 'p4-filelog-short-format
- "L" 'p4-filelog-long-format
- " " 'p4-scroll-up-1-window
- "gg" 'p4-top-of-buffer
- "G" 'p4-bottom-of-buffer
- "=" 'p4-delete-other-windows
- "]]" 'p4-goto-next-change
- "[[" 'p4-goto-prev-change
- (kbd "C-j") 'p4-goto-next-change
- (kbd "C-k") 'p4-goto-prev-change)
-
- (evil-collection-define-key 'normal 'p4-diff-mode-map
- "]]" 'diff-hunk-next
- (kbd "C-j") 'diff-hunk-next
- (kbd "M-j") 'diff-file-next
- "[[" 'diff-hunk-prev
- (kbd "C-k") 'diff-hunk-prev
- (kbd "M-k") 'diff-file-prev
- "\t" 'diff-hunk-next
- [backtab] 'diff-hunk-prev
- "}" 'diff-file-next
- "{" 'diff-file-prev
- "\C-m" 'p4-buffer-commands
- [mouse-2] 'p4-buffer-commands
- "gb" 'p4-buffer-commands)
-
- (evil-collection-define-key 'normal 'p4-annotate-mode-map
- "]]" 'p4-next-change-rev-line
- "[[" 'p4-prev-change-rev-line
- (kbd "C-j") 'p4-next-change-rev-line
- (kbd "C-k") 'p4-prev-change-rev-line
- "L" 'p4-toggle-line-wrap))
-
-(provide 'evil-collection-p4)
-;;; evil-collection-p4.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/package-menu/README.org b/.config/emacs/lisp/evil-collection/modes/package-menu/README.org
deleted file mode 100644
index c001fc5..0000000
--- a/.config/emacs/lisp/evil-collection/modes/package-menu/README.org
+++ /dev/null
@@ -1,22 +0,0 @@
-* package-menu
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Menu.html][package-menu-mode]].
-
- Standard read-only motion bindings are installed via
- =evil-collection-set-readonly-bindings=.
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------------------+----------+------|
- | =package-menu-mark-install= | =i= | =i= |
- | =package-menu-mark-upgrades= | =U= | =U= |
- | =package-menu-mark-delete= | =d= | =d= |
- | =package-menu-mark-unmark= | =u= | =u= |
- | =package-menu-execute= | =x= | =x= |
- | =package-menu-describe-package= | =RET= | =g?= |
- | =revert-buffer= | =g=, =r= | =gr= |
- | =package-browse-url= (Emacs 28+) | =w= | =B= |
-
- The =/=-prefixed filter commands, =H= (hide), =(= (toggle-hiding), =~=, =b=
- (report-bug), =S= (sort), and other defaults remain at their upstream keys.
diff --git a/.config/emacs/lisp/evil-collection/modes/package-menu/evil-collection-package-menu.el b/.config/emacs/lisp/evil-collection/modes/package-menu/evil-collection-package-menu.el
deleted file mode 100644
index 40a8f38..0000000
--- a/.config/emacs/lisp/evil-collection/modes/package-menu/evil-collection-package-menu.el
+++ /dev/null
@@ -1,60 +0,0 @@
-;;; evil-collection-package-menu.el --- Evil bindings for package-menu -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, package-menu, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil integration for `package-menu-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'package)
-
-(defconst evil-collection-package-menu-maps '(package-menu-mode-map))
-
-;;;###autoload
-(defun evil-collection-package-menu-setup ()
- "Set up `evil' bindings for `package-menu'."
- (evil-set-initial-state 'package-menu-mode 'normal)
- (evil-collection-set-readonly-bindings 'package-menu-mode-map)
- (evil-collection-define-key 'normal 'package-menu-mode-map
- "i" 'package-menu-mark-install
- "U" 'package-menu-mark-upgrades
- "d" 'package-menu-mark-delete
- "gr" 'revert-buffer
-
- ;; undo
- "u" 'package-menu-mark-unmark
-
- ;; execute
- "x" 'package-menu-execute
-
- "g?" 'package-menu-describe-package)
-
- ;; It's introduced since Emacs 28.
- (when (fboundp 'package-browse-url)
- (evil-collection-define-key 'normal 'package-menu-mode-map
- "B" 'package-browse-url)))
-
-(provide 'evil-collection-package-menu)
-;;; evil-collection-package-menu.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/pass/evil-collection-pass.el b/.config/emacs/lisp/evil-collection/modes/pass/evil-collection-pass.el
deleted file mode 100644
index 02457d3..0000000
--- a/.config/emacs/lisp/evil-collection/modes/pass/evil-collection-pass.el
+++ /dev/null
@@ -1,102 +0,0 @@
-;;; evil-collection-pass.el --- Evil bindings for pass-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, pass, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `pass-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'pass nil t)
-
-(defvar pass-mode-map)
-
-(declare-function pass--display-keybinding "pass")
-
-(defconst evil-collection-pass-maps '(pass-mode-map))
-
-(defvar evil-collection-pass-command-to-label
- '((pass-copy-field . "yf")
- (pass-copy-username . "yn")
- (pass-copy-url . "yu"))
- "Alist holding labels to be used in `pass' header.")
-
-(defun evil-collection-pass-display-keybinding (f &rest args)
- "A version of `pass--display-keybinding' that handles displaying
-keybindings listed in `evil-collection-pass-command-to-label'."
- (if (alist-get (car args) evil-collection-pass-command-to-label)
- (insert
- (format
- "%8s %-13s \t "
- (format "%s"
- (propertize
- (format
- "<%s>"
- (alist-get (car args)
- evil-collection-pass-command-to-label))
- 'face 'font-lock-constant-face))
- (cadr args)))
- (apply f args)))
-
-;;;###autoload
-(defun evil-collection-pass-setup ()
- "Set up `evil' bindings for `pass-mode'."
-
- (advice-add 'pass--display-keybinding
- :around 'evil-collection-pass-display-keybinding)
-
- (evil-collection-define-operator-key 'yank 'pass-mode-map
- "f" 'pass-copy-field
- "n" 'pass-copy-username
- "u" 'pass-copy-url)
-
- ;; https://github.com/NicolasPetton/pass/pull/47
- (when (fboundp 'pass-edit)
- (evil-collection-define-key 'normal 'pass-mode-map
- "E" 'pass-edit))
-
- (evil-collection-define-key 'normal 'pass-mode-map
- "gj" 'pass-next-entry
- "gk" 'pass-prev-entry
- (kbd "C-j") 'pass-next-entry
- (kbd "C-k") 'pass-prev-entry
- (kbd "]]") 'pass-next-directory
- (kbd "[[") 'pass-prev-directory
- "d" 'pass-kill
- "x" 'pass-kill
- "s" 'isearch-forward
- "J" 'pass-goto-entry
- "g?" 'describe-mode
- "gr" 'pass-update-buffer
- "i" 'pass-insert
- "I" 'pass-insert-generated
- "Y" 'pass-copy
- "r" 'pass-rename
- "R" 'pass-rename
- "o" 'pass-otp-options
- (kbd "RET") 'pass-view
- "q" 'pass-quit))
-
-(provide 'evil-collection-pass)
-;;; evil-collection-pass.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/pdf/evil-collection-pdf.el b/.config/emacs/lisp/evil-collection/modes/pdf/evil-collection-pdf.el
deleted file mode 100644
index 8555e43..0000000
--- a/.config/emacs/lisp/evil-collection/modes/pdf/evil-collection-pdf.el
+++ /dev/null
@@ -1,320 +0,0 @@
-;;; evil-collection-pdf.el --- Evil bindings for pdf-tools -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2024 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, pdf, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for pdf-tools.
-
-;;; Code:
-(require 'evil-collection)
-(require 'pdf-tools nil t)
-(require 'pdf-view nil t)
-(require 'pdf-history nil t)
-
-(defconst evil-collection-pdf-maps '(pdf-view-mode-map
- pdf-history-minor-mode-map
- pdf-outline-buffer-mode-map
- pdf-occur-buffer-mode-map))
-
-(declare-function pdf-view-last-page "pdf-view")
-(declare-function pdf-view-first-page "pdf-view")
-(declare-function pdf-view-goto-page "pdf-view")
-(declare-function pdf-view-previous-line-or-previous-page "pdf-view")
-(declare-function pdf-view-next-line-or-next-page "pdf-view")
-(declare-function pdf-view-assert-active-region "pdf-view")
-(declare-function pdf-view-active-region-text "pdf-view")
-(declare-function pdf-view-deactivate-region "pdf-view")
-(declare-function pdf-history-forward "pdf-history")
-(declare-function pdf-history-backward "pdf-history")
-
-(defvar pdf-view-mode-map)
-(defvar pdf-history-minor-mode-map)
-(defvar pdf-outline-buffer-mode-map)
-(defvar pdf-occur-buffer-mode-map)
-
-(defun evil-collection-pdf-view-goto-page (&optional page)
- "`evil' wrapper around `pdf-view-last-page'."
- (interactive "P")
- (if page
- (pdf-view-goto-page page)
- (let ((hscroll (window-hscroll)))
- (pdf-view-last-page)
- (image-eob)
- (image-set-window-hscroll hscroll))))
-
-(defun evil-collection-pdf-view-goto-first-page (&optional page)
- "`evil' wrapper around `pdf-view-first-page'."
- (interactive "P")
- (if page
- (pdf-view-goto-page page)
- (let ((hscroll (window-hscroll)))
- (pdf-view-first-page)
- (image-bob)
- (image-set-window-hscroll hscroll))))
-
-(defun evil-collection-pdf-jump-forward (&optional count)
- "Wrap `pdf-history-forward' with `evil'.
-
-Consider COUNT."
- (interactive "P")
- (pdf-history-forward (or count 1)))
-
-(defun evil-collection-pdf-jump-backward (&optional count)
- "Wrap `pdf-history-backward' with `evil'.
-
-Consider COUNT."
- (interactive "P")
- (pdf-history-backward (or count 1)))
-
-(defun evil-collection-pdf-yank ()
- "Save the text of the active region into the currently selected register."
- (interactive)
- (pdf-view-assert-active-region)
- (let ((txt (pdf-view-active-region-text))
- (reg evil-this-register))
- (pdf-view-deactivate-region)
- (evil-set-register
- (or reg ?\")
- (mapconcat #'identity txt nil))))
-
-(defun evil-collection-pdf-disable-visual-mode ()
- "Don't enter visual-mode when the mark is activated.
-Rationale: pdf-view allows using the region to select text within the pdf,
-but evil-mode does not know how to do this. It selects entire pdf images
-instead, which is useless and counterintuitive."
- (add-hook 'evil-local-mode-hook
- (lambda () (remove-hook
- 'activate-mark-hook
- 'evil-visual-activate-hook
- t))
- nil t))
-
-;;;###autoload
-(defun evil-collection-pdf-setup ()
- "Set up `evil' bindings for `pdf-view'."
- (evil-collection-inhibit-insert-state 'pdf-view-mode-map)
- (evil-set-initial-state 'pdf-view-mode 'normal)
- (evil-collection-define-key 'normal 'pdf-view-mode-map
- ;; motion
- (kbd "RET") 'image-next-line
- "j" 'pdf-view-next-line-or-next-page
- "k" 'pdf-view-previous-line-or-previous-page
- (kbd "SPC") 'pdf-view-scroll-up-or-next-page
- (kbd "S-SPC") 'pdf-view-scroll-down-or-previous-page
- (kbd "<delete>") 'pdf-view-scroll-down-or-previous-page
- (kbd "C-f") 'pdf-view-scroll-up-or-next-page
- (kbd "C-b") 'pdf-view-scroll-down-or-previous-page
- "]]" 'pdf-view-next-page-command
- "[[" 'pdf-view-previous-page-command
- (kbd "C-j") 'pdf-view-next-page-command
- (kbd "C-k") 'pdf-view-previous-page-command
- "gj" 'pdf-view-next-page-command
- "gk" 'pdf-view-previous-page-command
- (kbd "<next>") 'forward-page
- (kbd "<prior>") 'backward-page
- (kbd "<down>") 'pdf-view-next-line-or-next-page
- (kbd "<up>") 'pdf-view-previous-line-or-previous-page
- "gg" 'evil-collection-pdf-view-goto-first-page
- "G" 'evil-collection-pdf-view-goto-page
-
- ;; mark
- "'" 'pdf-view-jump-to-register
- "m" 'pdf-view-position-to-register
-
- ;; zoom
- "+" 'pdf-view-enlarge
- "zi" 'pdf-view-enlarge
- "=" 'pdf-view-enlarge
- "-" 'pdf-view-shrink
- "zo" 'pdf-view-shrink
- "0" 'pdf-view-scale-reset
- "z0" 'pdf-view-scale-reset
-
- "f" 'pdf-links-isearch-link
- "F" 'pdf-links-action-perform
- "h" 'image-backward-hscroll
- "^" 'image-bol
- "$" 'image-eol
- "l" 'image-forward-hscroll
-
- "H" 'pdf-view-fit-height-to-window ; evil-image has "H"
- "P" 'pdf-view-fit-page-to-window
- "W" 'pdf-view-fit-width-to-window ; evil-image has "W"
-
- ;; refresh
- "gr" 'revert-buffer
-
- (kbd "<C-down-mouse-1>") 'pdf-view-mouse-extend-region
- (kbd "<M-down-mouse-1>") 'pdf-view-mouse-set-region-rectangle
- (kbd "<down-mouse-1>") 'pdf-view-mouse-set-region
-
- (kbd "C-c C-c") 'doc-view-mode
- (kbd "C-c <tab>") 'pdf-view-extract-region-image
-
- "sb" 'pdf-view-set-slice-from-bounding-box
- "sm" 'pdf-view-set-slice-using-mouse
- "sr" 'pdf-view-reset-slice
-
- ;; goto
- "gl" 'pdf-view-goto-label
-
- ;; search
- (kbd "M-s o") 'pdf-occur ; TODO: More Evil bindings?
-
- "/" 'isearch-forward
- "?" 'isearch-backward
- "n" 'isearch-repeat-forward
- "N" 'isearch-repeat-backward
-
- "zd" 'pdf-view-dark-minor-mode
- "zm" 'pdf-view-midnight-minor-mode
- "zp" 'pdf-view-printer-minor-mode
-
- "o" 'pdf-outline
-
- ;; quit
- "q" 'quit-window
- "Q" 'kill-current-buffer
- "ZQ" 'kill-current-buffer
- "ZZ" 'quit-window)
-
-
- (when evil-want-C-d-scroll
- (evil-collection-define-key 'normal 'pdf-view-mode-map
- (kbd "C-d") 'pdf-view-scroll-up-or-next-page))
- (when evil-want-C-u-scroll
- (evil-collection-define-key 'normal 'pdf-view-mode-map
- (kbd "C-u") 'pdf-view-scroll-down-or-previous-page))
-
- (add-hook 'pdf-view-mode-hook #'evil-collection-pdf-disable-visual-mode)
-
- (evil-collection-define-key 'normal 'pdf-view-mode-map
- "y" 'evil-collection-pdf-yank)
-
- (evil-collection-inhibit-insert-state 'pdf-history-minor-mode-map)
- (evil-set-initial-state 'pdf-history-minor-mode 'normal)
- (evil-collection-define-key 'normal 'pdf-history-minor-mode-map
- ;; history forward / backward
- (kbd "C-i") 'evil-collection-pdf-jump-forward
- (kbd "C-o") 'evil-collection-pdf-jump-backward)
-
- (evil-collection-inhibit-insert-state 'pdf-outline-buffer-mode-map)
- (evil-set-initial-state 'pdf-outline-buffer-mode 'normal)
- (evil-collection-define-key 'normal 'pdf-outline-buffer-mode-map
- ;; open
- (kbd "RET") 'pdf-outline-follow-link-and-quit
- (kbd "S-<return>") 'pdf-outline-follow-link
- (kbd "M-<return>") 'pdf-outline-display-link
- "go" 'pdf-outline-follow-link
- "." 'pdf-outline-move-to-current-page
- (kbd "SPC") 'pdf-outline-select-pdf-window
-
- "G" 'pdf-outline-end-of-buffer
- "^" 'pdf-outline-up-heading
- "<" 'pdf-outline-up-heading ; TODO: Don't set this by default?
-
- "zf" 'pdf-outline-follow-mode ; Helm has "C-c C-f" in Emacs state.
-
- (kbd "<tab>") 'outline-toggle-children
- (kbd "<backtab>") 'pdf-outline-toggle-subtree
-
- ;; quit
- (kbd "C-w q") 'pdf-outline-quit-and-kill ; TODO: Do we need to set this? I think not.
- "q" 'quit-window
- "ZQ" 'quit-window
- "ZZ" 'pdf-outline-quit-and-kill)
-
- (evil-collection-inhibit-insert-state 'pdf-occur-buffer-mode-map)
- (evil-set-initial-state 'pdf-occur-buffer-mode 'normal)
- (evil-collection-define-key 'normal 'pdf-occur-buffer-mode-map
- ;; open
- (kbd "RET") 'pdf-occur-goto-occurrence
- (kbd "S-<return>") 'pdf-occur-view-occurrence
- (kbd "SPC") 'pdf-occur-view-occurrence
- "gd" 'pdf-occur-goto-occurrence
- "gD" 'pdf-occur-view-occurrence
-
- "A" 'pdf-occur-tablist-gather-documents
- "D" 'pdf-occur-tablist-do-delete
-
- ;; sort
- "o" 'tabulated-list-sort
- "O" 'tablist-sort ; TODO: Do we need this?
-
- ;; refresh
- "G" 'tablist-revert
-
- "K" 'pdf-occur-abort-search
-
- ;; mark
- "*m" 'tablist-mark-forward
- "m" 'tablist-mark-forward
- "~" 'tablist-toggle-marks
- "u" 'tablist-unmark-forward
- "U" 'tablist-unmark-all-marks
- "*!" 'tablist-unmark-all-marks
- "*c" 'tablist-change-marks
- "*n" 'tablist-mark-items-numeric
- "*r" 'tablist-mark-items-regexp
- "%" 'tablist-mark-items-regexp
-
- "a" 'tablist-flag-forward
-
- ;; "f" 'tablist-find-entry ; TODO: Equivalent to 'pdf-occur-goto-occurrence?
- "r" 'pdf-occur-revert-buffer-with-args
- "d" 'tablist-do-kill-lines
- "x" 'pdf-occur-tablist-do-flagged-delete
- (kbd "<delete>") 'tablist-unmark-backward
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<backtab>") 'tablist-backward-column
- (kbd "C-c C-e") 'tablist-export-csv
-
- [remap evil-first-non-blank] 'tablist-move-to-major-column
- [remap evil-next-line] 'tablist-next-line
- [remap evil-previous-line] 'tablist-previous-line
-
- ;; filter
- ;; TODO: See if overriding "/" is a good idea.
- "/!" 'tablist-negate-filter
- "//" 'tablist-display-filter
- "/=" 'tablist-push-equal-filter
- "/C" 'tablist-clear-filter
- "/D" 'tablist-delete-named-filter
- "/a" 'tablist-push-named-filter
- "/d" 'tablist-deconstruct-named-filter
- "/e" 'tablist-edit-filter
- "/n" 'tablist-push-numeric-filter
- "/p" 'tablist-pop-filter
- "/r" 'tablist-push-regexp-filter
- "/s" 'tablist-name-current-filter
- "/t" 'tablist-toggle-first-filter-logic
- "/z" 'tablist-suspend-filter
-
- ;; quit
- "q" 'tablist-quit
- "ZQ" 'tablist-quit
- "ZZ" 'tablist-quit))
-
-(provide 'evil-collection-pdf)
-;;; evil-collection-pdf.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/popup/README.org b/.config/emacs/lisp/evil-collection/modes/popup/README.org
deleted file mode 100644
index 4409b19..0000000
--- a/.config/emacs/lisp/evil-collection/modes/popup/README.org
+++ /dev/null
@@ -1,12 +0,0 @@
-* popup
-
- Evil bindings for [[https://github.com/auto-complete/popup-el][popup.el]] menus.
-
-** Key bindings
-
-*** popup-menu-keymap
-
- | Command | Original | Evil |
- |------------------+----------+-------|
- | =popup-next= | =C-n= | =C-j= |
- | =popup-previous= | =C-p= | =C-k= |
diff --git a/.config/emacs/lisp/evil-collection/modes/popup/evil-collection-popup.el b/.config/emacs/lisp/evil-collection/modes/popup/evil-collection-popup.el
deleted file mode 100644
index 67ea70a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/popup/evil-collection-popup.el
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; evil-collection-popup.el --- Bindings for `popup' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `popup'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'popup nil t)
-
-(defconst evil-collection-popup-maps '(popup-menu-keymap))
-
-;;;###autoload
-(defun evil-collection-popup-setup ()
- "Set up `evil' bindings for `popup'."
- (defvar popup-menu-keymap)
- (evil-collection-define-key nil 'popup-menu-keymap
- (kbd "C-j") 'popup-next
- (kbd "C-k") 'popup-previous))
-
-(provide 'evil-collection-popup)
-;;; evil-collection-popup.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/proced/README.org b/.config/emacs/lisp/evil-collection/modes/proced/README.org
deleted file mode 100644
index 5789230..0000000
--- a/.config/emacs/lisp/evil-collection/modes/proced/README.org
+++ /dev/null
@@ -1,33 +0,0 @@
-* proced
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Processes.html][proced]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |-----------------------------+----------+----------|
- | =proced-refine= | =RET= | =RET= |
- | =proced-mark= | =m=, =d= | =m= |
- | =proced-mark-all= | =M= | =*=, =M= |
- | =proced-unmark-all= | =U= | =U= |
- | =proced-toggle-marks= | =t= | =~= |
- | =proced-mark-children= | =C= | =c=, =C= |
- | =proced-mark-parents= | =P= | =p=, =P= |
- | =proced-unmark-backward= | =DEL= | =DEL= |
- | =evil-scroll-down= | n/a | =SPC= |
- | =evil-scroll-up= | n/a | =S-SPC= |
- | =proced-toggle-tree= | =T= | =zt= |
- | =proced-undo= | n/a | =u= |
- | =proced-omit-processes= | =o= | =O= |
- | =proced-send-signal= | =k=, =x= | =x= |
- | =proced-filter-interactive= | =f= | =s= |
- | =proced-format-interactive= | =F= | =S= |
- | =proced-sort-start= | =s s= | =oo= |
- | =proced-sort-interactive= | =s S= | =oO= |
- | =proced-sort-pcpu= | =s c= | =oc= |
- | =proced-sort-pmem= | =s m= | =om= |
- | =proced-sort-pid= | =s p= | =op= |
- | =proced-sort-time= | =s t= | =ot= |
- | =proced-sort-user= | =s u= | =ou= |
- | =proced-renice= | =r= | =r= |
- | =revert-buffer= | n/a | =gr= |
diff --git a/.config/emacs/lisp/evil-collection/modes/proced/evil-collection-proced.el b/.config/emacs/lisp/evil-collection/modes/proced/evil-collection-proced.el
deleted file mode 100644
index 8723cd8..0000000
--- a/.config/emacs/lisp/evil-collection/modes/proced/evil-collection-proced.el
+++ /dev/null
@@ -1,88 +0,0 @@
-;;; evil-collection-proced.el --- Evil bindings for proced -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, proced, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for proced.
-
-;;; Code:
-(require 'evil-collection)
-(require 'proced)
-
-(defconst evil-collection-proced-maps '(proced-mode-map))
-
-;;;###autoload
-(defun evil-collection-proced-setup ()
- "Set up `evil' bindings for `proced'."
- (evil-collection-set-readonly-bindings 'proced-mode-map)
- (evil-set-initial-state 'proced-mode 'normal)
- (evil-collection-define-key 'normal 'proced-mode-map
- (kbd "RET") 'proced-refine
-
- ;; mark
- ;; TODO: Implement a proced-toggle-mark?
- "m" 'proced-mark ; Mentioned in documentation, should be followed.
- "*" 'proced-mark-all
- "M" 'proced-mark-all
- "U" 'proced-unmark-all
- "~" 'proced-toggle-marks
- "c" 'proced-mark-children
- "C" 'proced-mark-children ; Emacs has "C"
- "p" 'proced-mark-parents
- "P" 'proced-mark-parents ; Emacs has "P"
- (kbd "<delete>") 'proced-unmark-backward
-
- ;; motion
- ;; TODO: Implement beginning-of-buffer / end-of-buffer.
- (kbd "SPC") 'evil-scroll-down
- (kbd "S-SPC") 'evil-scroll-up
-
- "zt" 'proced-toggle-tree
-
- "u" 'proced-undo
-
- "O" 'proced-omit-processes ; TODO: Change default binding?
-
- "x" 'proced-send-signal ; Emacs has "k" and "x", "k" is mentioned in documentation
-
- ;; filter
- "s" 'proced-filter-interactive ; Refers to "[s]elect", Emacs has "f" mentioned in documentation.
- "S" 'proced-format-interactive
-
- ;; sort
- "oo" 'proced-sort-start ; Refers to "[o]rder", Emacs has "s" mentioned in documentation.
- "oO" 'proced-sort-interactive
- "oc" 'proced-sort-pcpu
- "om" 'proced-sort-pmem
- "op" 'proced-sort-pid
- "ot" 'proced-sort-time
- "ou" 'proced-sort-user
-
- "r" 'proced-renice
-
- ;; refresh
- "gr" 'revert-buffer))
-
-(provide 'evil-collection-proced)
-;;; evil-collection-proced.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/process-menu/README.org b/.config/emacs/lisp/evil-collection/modes/process-menu/README.org
deleted file mode 100644
index c82676c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/process-menu/README.org
+++ /dev/null
@@ -1,18 +0,0 @@
-* process-menu
-
- Evil bindings for =process-menu-mode= (=M-x list-processes=).
-
- Read-only motion / quit bindings come from
- =evil-collection-set-readonly-bindings= and are not repeated below.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------------------+----------+---------|
- | =process-menu-delete-process= | =d= | =D= |
- | =tabulated-list-sort= | =S= | =S= |
- | =forward-button= | n/a | =TAB= |
- | =backward-button= | n/a | =S-TAB= |
- | =evil-scroll-down= | n/a | =SPC= |
- | =evil-scroll-up= | n/a | =S-SPC= |
- | =revert-buffer= | n/a | =gr= |
diff --git a/.config/emacs/lisp/evil-collection/modes/process-menu/evil-collection-process-menu.el b/.config/emacs/lisp/evil-collection/modes/process-menu/evil-collection-process-menu.el
deleted file mode 100644
index af5ce21..0000000
--- a/.config/emacs/lisp/evil-collection/modes/process-menu/evil-collection-process-menu.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; evil-collection-process-menu.el --- Evil bindings for process-menu-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, process, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for process-menu-mode (M-x list-processes).
-
-;;; Code:
-(require 'evil-collection)
-
-(defconst evil-collection-process-menu-maps '(process-menu-mode-map))
-
-;;;###autoload
-(defun evil-collection-process-menu-setup ()
- "Set up `evil' bindings for `list-processes'."
- (evil-collection-set-readonly-bindings 'process-menu-mode-map)
- (evil-collection-define-key 'normal 'process-menu-mode-map
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
-
- "S" 'tabulated-list-sort
- "D" 'process-menu-delete-process
-
- ;; motion
- ;; TODO: Implement beginning-of-buffer / end-of-buffer.
- (kbd "SPC") 'evil-scroll-down
- (kbd "S-SPC") 'evil-scroll-up
-
- ;; refresh
- "gr" 'revert-buffer))
-
-(provide 'evil-collection-process-menu)
-;;; evil-collection-process-menu.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/prodigy/evil-collection-prodigy.el b/.config/emacs/lisp/evil-collection/modes/prodigy/evil-collection-prodigy.el
deleted file mode 100644
index 18f28f9..0000000
--- a/.config/emacs/lisp/evil-collection/modes/prodigy/evil-collection-prodigy.el
+++ /dev/null
@@ -1,86 +0,0 @@
-;;; evil-collection-prodigy.el --- Evil bindings for prodigy -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, prodigy, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `prodigy'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'prodigy nil t)
-
-(defconst evil-collection-prodigy-maps '(prodigy-mode-map
- prodigy-view-mode-map))
-
-;;;###autoload
-(defun evil-collection-prodigy-setup ()
- "Set up `evil' bindings for `prodigy'."
- (evil-collection-define-key 'normal 'prodigy-mode-map
- ;; quit
- "q" 'quit-window
-
- "j" 'prodigy-next
- "k" 'prodigy-prev
- "gg" 'prodigy-first
- "G" 'prodigy-last
-
- ;; mark
- "m" 'prodigy-mark
- "*t" 'prodigy-mark-tag
- "M" 'prodigy-mark-all
- "u" 'prodigy-unmark
- "*T" 'prodigy-unmark-tag
- "U" 'prodigy-unmark-all
-
- "s" 'prodigy-start
- "S" 'prodigy-stop
-
- ;; refresh
- "gr" 'prodigy-restart
-
- "`" 'prodigy-display-process
- (kbd "RET") 'prodigy-browse
- "it" 'prodigy-add-tag-filter
- "in" 'prodigy-add-name-filter
- "I" 'prodigy-clear-filters
- "Jm" 'prodigy-jump-magit
- "Jd" 'prodigy-jump-file-manager
-
- "gj" 'prodigy-next-with-status
- "gk" 'prodigy-prev-with-status
- (kbd "C-j") 'prodigy-next-with-status
- (kbd "C-k") 'prodigy-prev-with-status
- (kbd "Y") 'prodigy-copy-cmd)
-
- (evil-collection-define-key 'normal 'prodigy-view-mode-map
- "s" 'prodigy-start
- "S" 'prodigy-stop
- "gr" 'prodigy-restart
- "r" 'prodigy-restart
- "c" 'prodigy-view-clear-buffer
- (kbd "C-l") 'prodigy-view-clear-buffer
- "x" 'prodigy-view-clear-buffer))
-
-(provide 'evil-collection-prodigy)
-;;; evil-collection-prodigy.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/profiler/README.org b/.config/emacs/lisp/evil-collection/modes/profiler/README.org
deleted file mode 100644
index 79bd707..0000000
--- a/.config/emacs/lisp/evil-collection/modes/profiler/README.org
+++ /dev/null
@@ -1,25 +0,0 @@
-* profiler
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Profiling.html][profiler]].
-
-** Key bindings
-
- Bindings added to =profiler-report-mode-map= in normal state.
-
- | Command | Original | Evil |
- |--------------------------------------------+------------+---------------------|
- | =profiler-report-next-entry= | =n= | =j= |
- | =profiler-report-previous-entry= | =p= | =k= |
- | =profiler-report-toggle-entry= | =RET=, =i= | =TAB= |
- | =profiler-report-find-entry= | =f=, =j= | =RET= |
- | =profiler-report-describe-entry= | =d= | =i= |
- | =profiler-report-render-calltree= | =C= | =c= |
- | =profiler-report-render-reversed-calltree= | =B= | =C= |
- | =profiler-report-ascending-sort= | =A= | =o= |
- | =profiler-report-descending-sort= | =D= | =O= |
- | =profiler-report-compare-profile= | === | === |
- | =scroll-up-command= | n/a | =SPC= |
- | =scroll-down-command= | n/a | =S-SPC=, =<delete>= |
- | =revert-buffer= | n/a | =gr= |
- | =quit-window= | n/a | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/profiler/evil-collection-profiler.el b/.config/emacs/lisp/evil-collection/modes/profiler/evil-collection-profiler.el
deleted file mode 100644
index ce0c6ff..0000000
--- a/.config/emacs/lisp/evil-collection/modes/profiler/evil-collection-profiler.el
+++ /dev/null
@@ -1,71 +0,0 @@
-;;; evil-collection-profiler.el --- Evil bindings for profiler -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, profiler, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `profiler'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'profiler)
-
-(defconst evil-collection-profiler-maps '(profiler-report-mode-map))
-
-;;;###autoload
-(defun evil-collection-profiler-setup ()
- "Set up `evil' bindings for `profiler'."
- (evil-set-initial-state 'profiler-report-mode 'normal)
-
- (evil-collection-define-key 'normal 'profiler-report-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<delete>") 'scroll-down-command
- "j" 'profiler-report-next-entry
- "k" 'profiler-report-previous-entry
-
- (kbd "<tab>") 'profiler-report-toggle-entry
-
- ;; sort
- "o" 'profiler-report-ascending-sort
- "O" 'profiler-report-descending-sort
-
- "c" 'profiler-report-render-calltree
- "C" 'profiler-report-render-reversed-calltree
- "i" 'profiler-report-describe-entry
- "=" 'profiler-report-compare-profile
-
- ;; open
- (kbd "RET") 'profiler-report-find-entry
-
- ;; refresh
- "gr" 'revert-buffer
-
- ;; quit
- "q" 'quit-window
- "ZQ" 'evil-quit
- "ZZ" 'quit-windw))
-
-(provide 'evil-collection-profiler)
-;;; evil-collection-profiler.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/python/README.org b/.config/emacs/lisp/evil-collection/modes/python/README.org
deleted file mode 100644
index 1daae7e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/python/README.org
+++ /dev/null
@@ -1,17 +0,0 @@
-* python
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Python.html][python-mode]].
-
-** Key bindings
-
- Applied to =python-mode-map=, =python-ts-mode-map=, and
- =python-base-mode-map= in normal state.
-
- | Command | Original | Evil |
- |--------------------------------+-----------+------|
- | =python-shell-switch-to-shell= | =C-c C-z= | =gz= |
-
-** Notes
-
- - =evil-shift-width= is set to =python-indent-offset= on
- =python-mode-hook= and =python-ts-mode-hook=.
diff --git a/.config/emacs/lisp/evil-collection/modes/python/evil-collection-python.el b/.config/emacs/lisp/evil-collection/modes/python/evil-collection-python.el
deleted file mode 100644
index c71395e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/python/evil-collection-python.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; evil-collection-python.el --- Bindings for `python' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `python'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'python)
-
-(defconst evil-collection-python-maps '(python-mode-map
- python-ts-mode-map
- python-base-mode-map))
-
-(defun evil-collection-python-set-evil-shift-width ()
- "Set `evil-shift-width' according to `python-indent-offset'."
- (setq-local evil-shift-width python-indent-offset))
-
-;;;###autoload
-(defun evil-collection-python-setup ()
- "Set up `evil' bindings for `python'."
- (dolist (hook '(python-mode-hook python-ts-mode-hook))
- (add-hook hook #'evil-collection-python-set-evil-shift-width))
-
- (dolist (kmap evil-collection-python-maps)
- (evil-collection-define-key 'normal kmap
- "gz" 'python-shell-switch-to-shell)))
-
-(provide 'evil-collection-python)
-;;; evil-collection-python.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/quickrun/evil-collection-quickrun.el b/.config/emacs/lisp/evil-collection/modes/quickrun/evil-collection-quickrun.el
deleted file mode 100644
index af27992..0000000
--- a/.config/emacs/lisp/evil-collection/modes/quickrun/evil-collection-quickrun.el
+++ /dev/null
@@ -1,42 +0,0 @@
-;;; evil-collection-quickrun.el --- Bindings for `quickrun' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, quickrun
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `quickrun'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'quickrun nil t)
-
-(defconst evil-collection-quickrun-maps '(quickrun--mode-map))
-
-;;;###autoload
-(defun evil-collection-quickrun-setup ()
- "Set up `evil' bindings for `quickrun'.."
- (evil-collection-define-key 'normal 'quickrun--mode-map
- "q" 'quit-window))
-
-(provide 'evil-collection-quickrun)
-;;; evil-collection-quickrun.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/racer/evil-collection-racer.el b/.config/emacs/lisp/evil-collection/modes/racer/evil-collection-racer.el
deleted file mode 100644
index 7283669..0000000
--- a/.config/emacs/lisp/evil-collection/modes/racer/evil-collection-racer.el
+++ /dev/null
@@ -1,48 +0,0 @@
-;;; evil-collection-racer.el --- Bindings for `racer' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, rust, tools, evil
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `racer'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'racer nil t)
-
-(defconst evil-collection-racer-maps '(racer-mode-map
- racer-help-mode-map))
-
-;;;###autoload
-(defun evil-collection-racer-setup ()
- "Set up `evil' bindings for `racer'."
- (evil-collection-define-key 'normal 'racer-mode-map
- "gd" 'racer-find-definition
- (kbd "C-t") 'pop-tag-mark
- "K" 'racer-describe)
-
- (evil-collection-define-key 'normal 'racer-help-mode-map
- "q" 'quit-window))
-
-(provide 'evil-collection-racer)
-;;; evil-collection-racer.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/racket-describe/evil-collection-racket-describe.el b/.config/emacs/lisp/evil-collection/modes/racket-describe/evil-collection-racket-describe.el
deleted file mode 100644
index a7d24e1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/racket-describe/evil-collection-racket-describe.el
+++ /dev/null
@@ -1,45 +0,0 @@
-;;; evil-collection-racket-describe.el --- Bindings for `racket-describe' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Andre Goderich
-
-;; Author: Andre Goderich <yuhsien77@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `racket-describe'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'racket-describe nil t)
-
-(defconst evil-collection-racket-describe-maps '(racket-describe-mode-map))
-
-;;;###autoload
-(defun evil-collection-racket-describe-setup ()
- "Set up `evil' bindings for `racket-describe'."
- (evil-collection-inhibit-insert-state 'racket-describe-mode-map)
- (evil-set-initial-state 'racket-describe-mode 'normal)
- (evil-collection-define-key 'normal 'racket-describe-mode-map
- "q" 'quit-window
- "g?" 'describe-mode))
-
-(provide 'evil-collection-racket-describe)
-;;; evil-collection-racket-describe.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/reader/evil-collection-reader.el b/.config/emacs/lisp/evil-collection/modes/reader/evil-collection-reader.el
deleted file mode 100644
index 3fc3187..0000000
--- a/.config/emacs/lisp/evil-collection/modes/reader/evil-collection-reader.el
+++ /dev/null
@@ -1,162 +0,0 @@
-;;; evil-collection-reader.el --- Evil bindings for `reader' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2025 Icy-Thought
-
-;; Author: Icy-Thought
-;; Maintainer: Icy-Thought <icy-thought@pm.me>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, reader
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Emacs `reader'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'reader nil t)
-
-(declare-function reader-first-page "reader")
-(declare-function reader-last-page "reader")
-(declare-function reader-goto-page "reader")
-(declare-function reader-close-doc "reader")
-(declare-function reader-outline-show "reader")
-(declare-function reader-presentation-mode "reader")
-(declare-function reader-rotate-counter-clockwise "reader")
-(declare-function reader-rotate-clockwise "reader")
-(declare-function reader-fit-to-width "reader")
-(declare-function reader-fit-to-height "reader")
-(declare-function reader-mwheel-shrink-size "reader")
-(declare-function reader-shrink-size "reader")
-(declare-function reader-mwheel-enlarge-size "reader")
-(declare-function reader-enlarge-size "reader")
-(declare-function reader-scroll-left-most "reader")
-(declare-function reader-scroll-right-most "reader")
-(declare-function reader-scroll-left "reader")
-(declare-function reader-scroll-right "reader")
-(declare-function reader-scroll-up-or-prev-page "reader")
-(declare-function reader-scroll-down-or-next-page "reader")
-(declare-function reader-scroll-down-screen "reader")
-(declare-function reader-scroll-up-screen "reader")
-(declare-function reader-mwheel-scroll-right "reader")
-(declare-function reader-mwheel-scroll-left "reader")
-(declare-function reader-mwheel-scroll-down "reader")
-(declare-function reader-mwheel-scroll-up "reader")
-(declare-function reader-scroll-down-or-next-page "reader")
-(declare-function reader-scroll-up-or-prev-page "reader")
-(declare-function reader-previous-page "reader")
-(declare-function reader-next-page "reader")
-
-(declare-function reader-outline-visit-page "reader")
-(declare-function reader-outline-select-doc-window "reader")
-
-(defvar reader-mode-map)
-(defvar reader-outline-mode-map)
-
-(defun evil-collection-reader-goto-first-page (&optional page)
- "Navigates to `page' X or jump to the FIRST PAGE of the document."
- (interactive "P")
- (if page
- (reader-goto-page page)
- (reader-first-page)))
-
-(defun evil-collection-reader-goto-page (&optional page)
- "Navigates to `page' X or jump to the LAST PAGE of the document.
-`evil' wrapper around `reader-last-page'."
- (interactive "P")
- (if page
- (reader-goto-page page)
- (reader-last-page)))
-
-(defconst evil-collection-reader-maps
- '(reader-mode-map reader-outline-mode-map))
-
-;;;###autoload
-(defun evil-collection-reader-setup ()
- "Set up `evil' bindings for `reader'."
- (evil-collection-set-readonly-bindings 'reader-mode-map)
-
- ;; Refresh reader-mode bindings
- (add-hook 'reader-mode-hook #'evil-normalize-keymaps)
- (add-hook 'reader-outline-mode-hook #'evil-normalize-keymaps)
-
- (evil-collection-define-key 'normal 'reader-mode-map
- "n" #'reader-next-page
- "p" #'reader-previous-page
- "k" #'reader-scroll-up-or-prev-page
- "j" #'reader-scroll-down-or-next-page
- [remap next] #'reader-scroll-down-or-next-page
- [remap previous] #'reader-scroll-up-or-prev-page
- [remap evil-next-line] #'reader-scroll-down-or-next-page
- [remap evil-previous-line] #'reader-scroll-up-or-prev-page
-
- "<wheel-up>" #'reader-mwheel-scroll-up
- "<wheel-down>" #'reader-mwheel-scroll-down
- "S-<wheel-up>" #'reader-mwheel-scroll-left
- "S-<wheel-down>" #'reader-mwheel-scroll-right
-
- "C-b" #'reader-scroll-up-screen
- "C-f" #'reader-scroll-down-screen
- [remap scroll-down-command] #'reader-scroll-up-screen
- [remap scroll-up-command] #'reader-scroll-down-screen
-
- "SPC" #'reader-scroll-down-or-next-page
- "DEL" #'reader-scroll-up-or-prev-page
- "S-SPC" #'reader-scroll-up-or-prev-page
-
- "l" #'reader-scroll-right
- "h" #'reader-scroll-left
- [remap forward-char] #'reader-scroll-right
- [remap backward-char] #'reader-scroll-left
-
- "$" #'reader-scroll-right-most
- "^" #'reader-scroll-left-most
- [remap move-end-of-line] #'reader-scroll-right-most
- [remap move-beginning-of-line] #'reader-scroll-left-most
-
- "gg" #'evil-collection-reader-goto-first-page
- "G" #'evil-collection-reader-goto-page
- [remap beginning-of-buffer] #'reader-first-page
- [remap end-of-buffer] #'reader-last-page
- [remap goto-line] #'reader-goto-page
-
- ;; "0" #'evil-collections-reader-reset-zoom
- "=" #'reader-enlarge-size
- "+" #'reader-enlarge-size
- "C-<wheel-up>" #'reader-mwheel-enlarge-size
- "-" #'reader-shrink-size
- "C-<wheel-down>" #'reader-mwheel-shrink-size
-
- "H" #'reader-fit-to-height
- "W" #'reader-fit-to-width
-
- "r" #'reader-rotate-clockwise
- "R" #'reader-rotate-counter-clockwise
-
- "<f5>" #'reader-presentation-mode
- "o" #'reader-outline-show
- "Q" #'reader-close-doc)
-
- (evil-collection-define-key 'normal 'reader-outline-mode-map
- "p" #'previous-line
- "n" #'next-line
- "o" #'reader-outline-select-doc-window
- "q" #'quit-window
- "RET" #'reader-outline-visit-page
- "M-RET" #'reader-outline-visit-page))
-
-(provide 'evil-collection-reader)
-;;; evil-collection-reader.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/realgud/evil-collection-realgud.el b/.config/emacs/lisp/evil-collection/modes/realgud/evil-collection-realgud.el
deleted file mode 100644
index a8462ae..0000000
--- a/.config/emacs/lisp/evil-collection/modes/realgud/evil-collection-realgud.el
+++ /dev/null
@@ -1,103 +0,0 @@
-;;; evil-collection-realgud.el --- Bindings for `realgud' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, realgud
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `realgud'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'realgud nil t)
-
-(defconst evil-collection-realgud-maps '(realgud:shortkey-mode-map))
-
-;;;###autoload
-(defun evil-collection-realgud-setup ()
- "Set up `evil' bindings for `realgud'."
- ;; This one is to represent `realgud-populate-src-buffer-map-plain'.
- (evil-collection-define-key 'normal 'realgud:shortkey-mode-map
- "b" 'realgud:cmd-break
- "D" 'realgud:cmd-delete
- "X" 'realgud:cmd-clear
- "-" 'realgud:cmd-disable
- "+" 'realgud:cmd-enable
- "T" 'realgud:cmd-backtrace
- "f" 'realgud:cmd-finish
- "n" 'realgud:cmd-next
- "q" 'realgud:cmd-quit
- "Q" 'realgud:cmd-kill
- "r" 'realgud:cmd-restart
- "R" 'realgud:cmd-restart
- "s" 'realgud:cmd-step
- "i" 'realgud:cmd-step
- "!" 'realgud:cmd-shell
-
- ;; (evil-collection-define-key nil map [M-down] 'realgud-track-hist-newer)
- ;; (evil-collection-define-key nil map [M-kp-2] 'realgud-track-hist-newer)
- ;; (evil-collection-define-key nil map [M-up] 'realgud-track-hist-older)
- ;; (evil-collection-define-key nil map [M-kp-8] 'realgud-track-hist-older)
- ;; (evil-collection-define-key nil map [M-kp-up] 'realgud-track-hist-older)
- ;; (evil-collection-define-key nil map [M-kp-down] 'realgud-track-hist-newer)
- ;; (evil-collection-define-key nil map [M-print] 'realgud-track-hist-older)
- ;; (evil-collection-define-key nil map [M-S-down] 'realgud-track-hist-newest)
- ;; (evil-collection-define-key nil map [M-S-up] 'realgud-track-hist-oldest)
- )
-
- (evil-collection-define-key 'normal 'realgud:shortkey-mode-map
- (kbd "C-x C-q") 'realgud-short-key-mode
- "1" 'realgud-goto-arrow1
- "2" 'realgud-goto-arrow2
- "3" 'realgud-goto-arrow3
- "4" 'realgud:goto-loc-hist-4
- "5" 'realgud:goto-loc-hist-5
- "6" 'realgud:goto-loc-hist-6
- "7" 'realgud:goto-loc-hist-7
- "8" 'realgud:goto-loc-hist-8
- "9" 'realgud:goto-loc-hist-9
- "b" 'realgud:cmd-break
- "J" 'realgud:cmd-jump
- "c" 'realgud:cmd-continue
- "e" 'realgud:cmd-eval-dwim
- "E" 'realgud:cmd-eval-at-point
- "U" 'realgud:cmd-until
- "H" 'realgud:cmd-until-here
- [mouse-2] 'realgud:tooltip-eval
- [left-fringe mouse-1] 'realgud-cmds--mouse-add-remove-bp
- [left-margin mouse-1] 'realgud-cmds--mouse-add-remove-bp
- ">" 'realgud:cmd-newer-frame
- "<" 'realgud:cmd-older-frame
- "d" 'realgud:cmd-newer-frame
- "u" 'realgud:cmd-older-frame
- "gR" 'realgud-recenter-arrow ;; FIXME: Hmnn!
- "C" 'realgud-window-cmd-undisturb-src
- "g?" 'realgud:cmdbuf-info-describe
- "S" 'realgud-window-src-undisturb-cmd
- "R" 'realgud:cmd-restart
- "gr" 'realgud:cmd-restart
- "!" 'realgud:cmd-shell)
-
- (add-hook 'realgud-short-key-mode-hook #'evil-normalize-keymaps))
-
-(provide 'evil-collection-realgud)
-;;; evil-collection-realgud.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/reftex/README.org b/.config/emacs/lisp/evil-collection/modes/reftex/README.org
deleted file mode 100644
index d6f1d49..0000000
--- a/.config/emacs/lisp/evil-collection/modes/reftex/README.org
+++ /dev/null
@@ -1,75 +0,0 @@
-* reftex
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/reftex/index.html][reftex-mode]].
-
-** Key bindings
-
-*** reftex-select-shared-map
-
- Used by =reftex-select-label-mode= and =reftex-select-bib-mode= (initial
- state: normal).
-
- | Command | Original | Evil |
- |------------------------------------------+----------+-------------------|
- | =reftex-select-next= | =n= | =j= |
- | =reftex-select-previous= | =p= | =k= |
- | =reftex-select-next-heading= | n/a | =]]=, =gj=, =C-j= |
- | =reftex-select-previous-heading= | n/a | =[[=, =gk=, =C-k= |
- | =reftex-select-accept= | =RET= | =RET= |
- | =reftex-select-callback= | =SPC= | =go= |
- | =reftex-select-show-insertion-point= | =.= | =gO= |
- | =reftex-select-read-label= | n/a | =TAB= |
- | =reftex-select-quit= | =q= | =q=, =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
- | =reftex-select-help= | =?= | =g?= |
- | =reftex-select-jump= | n/a | =J= |
- | =reftex-select-cycle-ref-style-forward= | n/a | =r= |
- | =reftex-select-cycle-ref-style-backward= | n/a | =R= |
- | =reftex-select-mark= | n/a | =m= |
- | =reftex-select-unmark= | n/a | =u= |
-
- The keys =gr=, =c=, =s=, =x=, =X=, =S=, =o=, =O= dispatch back to
- reftex's underlying =throw= protocol so the original selection actions
- (rescan, reuse, switch label type, ref grouping, external xr, BibTeX
- export) still work.
-
-*** reftex-toc-mode-map
-
- Initial state: normal.
-
- | Command | Original | Evil |
- |-----------------------------------+-----------+------------|
- | =reftex-toc-next= | =n= | =j= |
- | =reftex-toc-previous= | =p= | =k= |
- | =reftex-toc-view-line= | =SPC= | =go=, =gO= |
- | =reftex-toc-goto-line-and-hide= | =RET= | =RET= |
- | =reftex-toc-goto-line= | =TAB= | =TAB= |
- | =reftex-toc-show-help= | =?= | =g?=, =?= |
- | =reftex-toc-quit= | =q= | =q= |
- | =reftex-toc-quit-and-kill= | =k= | =ZZ= |
- | =evil-quit= | n/a | =ZQ= |
- | =reftex-toc-rescan= | =r= | =gr= |
- | =reftex-toc-Rescan= | =R= | =gR= |
- | =reftex-toc-toggle-labels= | =l= | =l= |
- | =reftex-toc-toggle-index= | =i= | =i= |
- | =reftex-toc-toggle-context= | =c= | =c= |
- | =reftex-toc-toggle-file-boundary= | =F= | =F= |
- | =reftex-toc-rename-label= | =M-%= | =rl= |
- | =reftex-toc-display-index= | =C-c >= | =zi= |
- | =reftex-toc-external= | =x= | =x= |
- | =reftex-toc-show-calling-point= | =.= | =.= |
- | =reftex-toc-jump= | =z= | =J= |
- | =reftex-toc-previous-heading= | =C-c C-p= | =[[= |
- | =reftex-toc-next-heading= | =C-c C-n= | =]]= |
- | =reftex-toc-promote= | =<= | =>= |
- | =reftex-toc-demote= | =>= | =<= |
- | =reftex-toc-toggle-follow= | =f= | =f= |
-
- Note: =>= and =<= are swapped relative to upstream so that =>= promotes
- and =<= demotes; this matches the visual outline-shift direction.
-
-** Notes
-
- - =reftex-select-label-prompt=, =reftex-citation-prompt=,
- =reftex-select-label-help=, =reftex-citation-help=, and
- =reftex-toc-help= are rewritten to advertise the evil keys.
diff --git a/.config/emacs/lisp/evil-collection/modes/reftex/evil-collection-reftex.el b/.config/emacs/lisp/evil-collection/modes/reftex/evil-collection-reftex.el
deleted file mode 100644
index 274753f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/reftex/evil-collection-reftex.el
+++ /dev/null
@@ -1,174 +0,0 @@
-;;; evil-collection-reftex.el --- Bindings for `reftex' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Maximiliano Sandoval <msandova@protonmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, reftex, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `reftex-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'reftex-ref nil t)
-(require 'reftex-ref nil t)
-(require 'reftex-cite nil t)
-(require 'reftex-toc nil t)
-
-(defconst evil-collection-reftex-maps '(reftex-select-shared-map
- reftex-toc-mode-map))
-
-;; original code can be found in reftex-ref.el
-(setq reftex-select-label-prompt
- "Select: [RET]select [j]next [k]previous [gr]escan [go]context [q]uit [g?]help")
-
-;; original code can be found in reftex-cite.el
-(setq reftex-citation-prompt
- "Select: [RET]select [j]next [k]previous [q]uit [g?]help")
-
-;; original at reftex-ref.el
-(setq reftex-select-label-help
- " j / k Go to next/previous label (Cursor motion works as well)
- [ / ] Go to previous/next section heading.
- c Reuse last referenced label.
- J Jump to a specific section, e.g. '3 J' jumps to section 3.
- s Switch label type.
- gr Reparse document.
- go / gO Show context / Show insertion point.
- S Switch to label menu of external document (with LaTeX package `xr').
- r / R Toggle \\ref <-> \\vref / Rotate \\ref <=> \\fref <=> \\Fref.
- TAB Enter a label with completion.
- m / M Mark/unmark entry.
- x / X Put all marked entries into one/many \\ref commands.
- q / RET Quit without referencing / Accept current label.")
-
-;; code can be found in reftex-cite.el
-(setq reftex-citation-help
- " j / k Go to next/previous entry (Cursor motion works as well).
- go / gO Show citation / Show insertion point.
- q Quit without inserting \\cite macro into buffer.
- TAB Enter citation key with completion.
- RET Accept current entry and create \\cite macro.
- m / M Mark/Unmark the entry.
- o / O Create BibTeX file with all marked / unmarked entries.
- X / X Put all (marked) entries into one/many \\cite commands.")
-
-(setq reftex-toc-help
- " AVAILABLE KEYS IN TOC BUFFER
- ============================
- j / k next-line / previous-line
- go Show the corresponding location of the LaTeX document.
- TAB Goto the location and keep the TOC window.
- RET Goto the location and hide the TOC window (also on mouse-2).
- < / > Promote / Demote section, or all sections in region.
- zi Display Index. With prefix arg, restrict index to current section.
- q / ZZ Hide/Kill *toc* buffer, return to position of reftex-toc command.
- l i c F Toggle display of [l]abels, [i]ndex, [c]ontext, [F]ile borders.
- f Toggle follow mode
- gr / gR Reparse the LaTeX document / Reparse entire LaTeX document.
- . In other window, show position from where `reftex-toc' was called.
- rl Global search and replace to rename label at point.
- x Switch to TOC of external document (with LaTeX package `xr').
- J Jump to a specific section (e.g. '3 J' goes to section 3).")
-
-;;;###autoload
-(defun evil-collection-reftex-setup ()
- "Set up `evil' bindings for `reftex'."
-
- (evil-set-initial-state 'reftex-select-label-mode 'normal)
- (evil-set-initial-state 'reftex-select-bib-mode 'normal)
-
- (evil-collection-define-key 'normal 'reftex-select-shared-map
- "j" 'reftex-select-next
- "k" 'reftex-select-previous
- (kbd "]]") 'reftex-select-next-heading
- (kbd "[[") 'reftex-select-previous-heading
- (kbd "gj") 'reftex-select-next-heading
- (kbd "gk") 'reftex-select-previous-heading
- (kbd "C-j") 'reftex-select-next-heading
- (kbd "C-k") 'reftex-select-previous-heading
- (kbd "RET") 'reftex-select-accept
- "go" 'reftex-select-callback ;shows the point where the label is
- "gr" (lambda nil "Press `?' during selection to find out
- about this key" (interactive) (throw (quote myexit) 114)) ;reftex binds keys in a very arcane way using the number asigned by describe-char, in this case the value of "g" is 114
- "q" 'reftex-select-quit
- "ZZ" 'reftex-select-quit
- "ZQ" 'evil-quit
- "g?" 'reftex-select-help
- "c" (lambda nil "Press `?' during selection to find out
- about this key." (interactive) (throw (quote myexit) 108))
- "J" 'reftex-select-jump ;; weird binding, using default
- (kbd "<tab>") 'reftex-select-read-label
- "s" (lambda nil "Press `?' during selection to find out
- about this key." (interactive) (throw (quote myexit) 115))
- "x" (lambda nil "Press `?' during selection to find out
- about this key." (interactive) (throw (quote myexit) 97))
- "X" (lambda nil "Press `?' during selection to find out
- about this key." (interactive) (throw (quote myexit) 65))
- "S" (lambda nil "Press `?' during selection to find out
- about this key." (interactive) (throw (quote myexit) 120))
- "r" 'reftex-select-cycle-ref-style-forward
- "R" 'reftex-select-cycle-ref-style-backward
- "gO" 'reftex-select-show-insertion-point
- "o" (lambda nil "Press `?' during selection to find out
- about this key." (interactive) (throw (quote myexit) 101))
- "O" (lambda nil "Press `?' during selection to find out
- about this key." (interactive) (throw (quote myexit) 69))
-
- ;; mark
- "m" 'reftex-select-mark ; TODO: Need a mark toggle function.
- "u" 'reftex-select-unmark)
-
- (evil-set-initial-state 'reftex-toc-mode 'normal)
-
- ;; This one is more involved, in reftex-toc.el, line 267 it shows the prompt
- ;; string with the keybinds and I don't see any way of changing it to show evil-like binds.
- (evil-collection-define-key 'normal 'reftex-toc-mode-map
- "j" 'reftex-toc-next
- "k" 'reftex-toc-previous
- "go" 'reftex-toc-view-line
- "gO" 'reftex-toc-view-line
- (kbd "RET") 'reftex-toc-goto-line-and-hide
- (kbd "<tab>") 'reftex-toc-goto-line
- "g?" 'reftex-toc-show-help
- "?" 'reftex-toc-show-help
- "q" 'reftex-toc-quit
- "ZZ" 'reftex-toc-quit-and-kill
- "ZQ" 'evil-quit
- "gr" 'reftex-toc-rescan
- "gR" 'reftex-toc-Rescan
- "l" 'reftex-toc-toggle-labels
- "i" 'reftex-toc-toggle-index
- "c" 'reftex-toc-toggle-context
- "F" 'reftex-toc-toggle-file-boundary
- "rl" 'reftex-toc-rename-label
- "zi" 'reftex-toc-display-index
- "x" 'reftex-toc-external
- "." 'reftex-toc-show-calling-point
- "J" 'reftex-toc-jump
- (kbd "[[") 'reftex-toc-previous-heading
- (kbd "]]") 'reftex-toc-next-heading
- (kbd ">") 'reftex-toc-promote
- (kbd "<") 'reftex-toc-demote
- "f" 'reftex-toc-toggle-follow))
-
-(provide 'evil-collection-reftex)
-;;; evil-collection-reftex.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/replace/README.org b/.config/emacs/lisp/evil-collection/modes/replace/README.org
deleted file mode 100644
index 9d85f62..0000000
--- a/.config/emacs/lisp/evil-collection/modes/replace/README.org
+++ /dev/null
@@ -1,34 +0,0 @@
-* replace
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html][occur]] and =occur-edit-mode=.
-
-** Key bindings
-
-*** occur-mode-map
-
- Initial state: normal.
-
- | Command | Original | Evil |
- |-------------------------------------------+-----------+------------------|
- | =occur-edit-mode= | =e= | =i=, =C-x C-q= |
- | =occur-mode-goto-occurrence= | =RET= | =RET=, =C-c C-c= |
- | =occur-mode-goto-occurrence-other-window= | =o= | =go=, =S-RET= |
- | =occur-mode-display-occurrence= | =C-o= | =M-RET= |
- | =next-error-no-select= | =n= | =gj=, =C-j= |
- | =previous-error-no-select= | =p= | =gk=, =C-k= |
- | =occur-rename-buffer= | =r= | =r= |
- | =clone-buffer= | =c= | =c= |
- | =next-error-follow-minor-mode= | =C-c C-f= | =C-c C-f= |
- | =occur-mode-mouse-goto= | =mouse-2= | =mouse-2= |
-
-*** occur-edit-mode-map
-
- | Command | Original | Evil |
- |---------------------------------+-----------+----------------------------------------------|
- | =occur-cease-edit= | =C-c C-c= | =C-x C-q=, =<escape>=, =ZZ=, =ZQ=, =C-c C-c= |
- | =occur-mode-display-occurrence= | =C-c C-o= | =C-o= |
- | =next-error-follow-minor-mode= | =C-c C-f= | =C-c C-f= |
- | =occur-mode-mouse-goto= | =mouse-2= | =mouse-2= |
-
- Note: =occur-edit-mode= has no abort command; =ZZ=, =ZQ= and =<escape>=
- all commit the edit.
diff --git a/.config/emacs/lisp/evil-collection/modes/replace/evil-collection-replace.el b/.config/emacs/lisp/evil-collection/modes/replace/evil-collection-replace.el
deleted file mode 100644
index 5dc91e4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/replace/evil-collection-replace.el
+++ /dev/null
@@ -1,79 +0,0 @@
-;;; evil-collection-replace.el --- Evil bindings for `replace' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, occur, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `replace'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'replace nil t)
-
-(defconst evil-collection-replace-maps '(occur-mode-map
- occur-edit-mode-map))
-
-;;;###autoload
-(defun evil-collection-replace-setup ()
- "Set up `evil' bindings for `occur'."
- (evil-set-initial-state 'occur-mode 'normal)
-
- (evil-collection-define-key 'normal 'occur-mode-map
- ;; Like `wdired-mode'.
- (kbd "C-x C-q") 'occur-edit-mode
- "i" 'occur-edit-mode
-
- [mouse-2] 'occur-mode-mouse-goto
- (kbd "C-c C-c") 'occur-mode-goto-occurrence
-
- ;; open
- (kbd "RET") 'occur-mode-goto-occurrence
- (kbd "S-<return>") 'occur-mode-goto-occurrence-other-window
- (kbd "M-<return>") 'occur-mode-display-occurrence
- "go" 'occur-mode-goto-occurrence-other-window
-
- "gj" 'next-error-no-select
- "gk" 'previous-error-no-select
- (kbd "C-j") 'next-error-no-select
- (kbd "C-k") 'previous-error-no-select
- "r" 'occur-rename-buffer
- "c" 'clone-buffer
- (kbd "C-c C-f") 'next-error-follow-minor-mode)
-
- (evil-collection-define-key 'normal 'occur-edit-mode-map
- ;; Like `wdired-mode'.
- (kbd "C-x C-q") 'occur-cease-edit
-
- ;; Sadly, `occur-edit-mode' has no abort commands supported. ZZ, ZQ and
- ;; <escape> are same.
- (kbd "<escape>") 'occur-cease-edit
- "ZZ" 'occur-cease-edit
- "ZQ" 'occur-cease-edit
-
- [mouse-2] 'occur-mode-mouse-goto
- (kbd "C-c C-c") 'occur-cease-edit
- (kbd "C-o") 'occur-mode-display-occurrence
- (kbd "C-c C-f") 'next-error-follow-minor-mode))
-
-(provide 'evil-collection-replace)
-;;; evil-collection-replace.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/restclient/evil-collection-restclient.el b/.config/emacs/lisp/evil-collection/modes/restclient/evil-collection-restclient.el
deleted file mode 100644
index 49da419..0000000
--- a/.config/emacs/lisp/evil-collection/modes/restclient/evil-collection-restclient.el
+++ /dev/null
@@ -1,66 +0,0 @@
-;;; evil-collection-restclient.el --- Bindings for `restclient' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `restclient'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'restclient nil t)
-
-(defconst evil-collection-restclient-maps
- '(evil-collection-restclient-mode-map
- restclient-mode-map))
-
-(defvar evil-collection-restclient-mode-map (make-sparse-keymap))
-
-(define-minor-mode evil-collection-restclient-result-mode
- "A minor mode to attach to `restclient' results"
- :group 'evil-collection-restclient-mode
- :keymap evil-collection-restclient-mode-map
- :lighter nil)
-
-(defun evil-collection-restclient-setup-result-mode ()
- "Set up `evil-collection-restclient-result-mode'."
- (evil-collection-restclient-result-mode)
- (evil-normalize-keymaps))
-
-;;;###autoload
-(defun evil-collection-restclient-setup ()
- "Set up `evil' bindings for `restclient'."
- (evil-collection-define-key 'normal 'restclient-mode-map
- "[[" 'restclient-jump-prev
- "]]" 'restclient-jump-next)
- (evil-collection-define-key 'normal 'evil-collection-restclient-mode-map
- "q" #'quit-window
- "ZZ" #'quit-window
- "ZQ" #'evil-quit)
-
- ;; Enable a separate minor mode so that we can bind keys to it.
- (add-hook 'restclient-response-loaded-hook
- #'evil-collection-restclient-setup-result-mode))
-
-(provide 'evil-collection-restclient)
-;;; evil-collection-restclient.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/rg/README.org b/.config/emacs/lisp/evil-collection/modes/rg/README.org
deleted file mode 100644
index 677010c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/rg/README.org
+++ /dev/null
@@ -1,47 +0,0 @@
-* rg
-
- Evil bindings for [[https://github.com/dajva/rg.el][rg.el]] (ripgrep) result buffers.
-
- Initial state for =rg-mode= is forced to =normal=. Bindings cover
- =normal=, =motion=, and =visual= states so that evil motion overrides
- conflicting single-letter rg commands.
-
-** Key bindings
-
-*** normal state
-
- | Command | Original | Evil |
- |--------------------------------+-----------+-------------|
- | =rg-rerun-toggle-case= | =c= | =c= |
- | =rg-rerun-change-dir= | =d= | =d= |
- | =rg-rerun-change-files= | =f= | =f= |
- | =rg-rerun-toggle-ignore= | =i= | =I= |
- | =rg-rerun-change-regexp= | =r= | =r= |
- | =rg-rerun-change-literal= | =t= | =t= |
- | =rg-save-search= | =s= | =s= |
- | =rg-save-search-as-name= | =S= | =S= |
- | =rg-menu= | =m= | =m= |
- | =wgrep-change-to-wgrep-mode= | =e= | =i= |
- | =next-error-follow-minor-mode= | =C-c C-f= | =F= |
- | =rg-list-searches= | =L= | =L= |
- | =rg-back-history= | =C-c <= | =C-p= |
- | =rg-forward-history= | =C-c >= | =C-n= |
- | =rg-prev-file= | =M-P= | ={= |
- | =rg-next-file= | =M-N= | =}= |
- | =previous-error-no-select= | =p= | =gk=, =C-k= |
- | =next-error-no-select= | =n= | =gj=, =C-j= |
- | =evil-forward-word-end= | | =e= |
- | =evil-forward-char= | | =l= |
- | =evil-forward-word-begin= | | =w= |
- | =evil-goto-first-line= | | =gg= |
- | =rg-recompile= | =g= | =gr= |
- | =quit-window= | | =q= |
-
-*** motion / visual states
-
- | Command | Evil |
- |---------------------------+------|
- | =evil-forward-word-end= | =e= |
- | =evil-forward-char= | =l= |
- | =evil-forward-word-begin= | =w= |
- | =evil-goto-first-line= | =gg= |
diff --git a/.config/emacs/lisp/evil-collection/modes/rg/evil-collection-rg.el b/.config/emacs/lisp/evil-collection/modes/rg/evil-collection-rg.el
deleted file mode 100644
index af20fb7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/rg/evil-collection-rg.el
+++ /dev/null
@@ -1,91 +0,0 @@
-;;; evil-collection-rg.el --- Evil bindings for rg -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, rg, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for rg.
-
-;;; Code:
-(require 'evil-collection)
-(require 'rg nil t)
-
-(defconst evil-collection-rg-maps '(rg-mode-map))
-
-;;;###autoload
-(defun evil-collection-rg-setup ()
- "Set up `evil' bindings for `rg'."
- (evil-set-initial-state 'rg-mode 'normal)
-
- (evil-collection-define-key 'normal 'rg-mode-map
- ;; rerun
- "c" 'rg-rerun-toggle-case
- "d" 'rg-rerun-change-dir
- "f" 'rg-rerun-change-files
- "I" 'rg-rerun-toggle-ignore ;; was i
- "r" 'rg-rerun-change-regexp
- "t" 'rg-rerun-change-literal
-
- ;; save
- "s" 'rg-save-search
- "S" 'rg-save-search-as-name
-
- ;; action
- "m" 'rg-menu
- "i" 'wgrep-change-to-wgrep-mode ;; was w/e
- "F" 'next-error-follow-minor-mode ;; C-c C-f
- "L" 'rg-list-searches ;; was l
- (kbd "C-p") 'rg-back-history ;; C-c <
- (kbd "C-n") 'rg-forward-history ;; C-c >
-
- ;; navigation
- "{" 'rg-prev-file
- "}" 'rg-next-file
- "gk" 'previous-error-no-select
- "gj" 'next-error-no-select
- (kbd "C-k") 'previous-error-no-select
- (kbd "C-j") 'next-error-no-select
-
- "e" 'evil-forward-word-end ;; shadows wgrep-change-to-wgrep-mode
- "l" 'evil-forward-char ;; shadows rg-list-searches
- "w" 'evil-forward-word-begin ;; shadows wgrep-change-to-wgrep-mode
- "gg" 'evil-goto-first-line
- "gr" 'rg-recompile
-
- ;; quit
- "q" 'quit-window)
-
- (evil-collection-define-key 'motion 'rg-mode-map
- "e" 'evil-forward-word-end ;; shadows wgrep-change-to-wgrep-mode
- "l" 'evil-forward-char ;; shadows rg-list-searches
- "w" 'evil-forward-word-begin ;; shadows wgrep-change-to-wgrep-mode
- "gg" 'evil-goto-first-line)
-
- (evil-collection-define-key 'visual 'rg-mode-map
- "e" 'evil-forward-word-end ;; shadows wgrep-change-to-wgrep-mode
- "l" 'evil-forward-char ;; shadows rg-list-searches
- "w" 'evil-forward-word-begin ;; shadows wgrep-change-to-wgrep-mode
- "gg" 'evil-goto-first-line))
-
-(provide 'evil-collection-rg)
-;;; evil-collection-rg.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ripgrep/README.org b/.config/emacs/lisp/evil-collection/modes/ripgrep/README.org
deleted file mode 100644
index bae0b91..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ripgrep/README.org
+++ /dev/null
@@ -1,14 +0,0 @@
-* ripgrep
-
- Evil bindings for [[https://github.com/nlamirault/ripgrep.el][ripgrep.el]] search result buffers.
-
-** Key bindings
-
- | Command | Original | Evil |
- |------------------------------+-----------+-------------|
- | =evil-search-next= | | =n= |
- | =previous-error-no-select= | =p= | =gk=, =C-k= |
- | =next-error-no-select= | =n= | =gj=, =C-j= |
- | =compilation-previous-file= | ={= | ={= |
- | =compilation-next-file= | =}= | =}= |
- | =wgrep-change-to-wgrep-mode= | =C-c C-p= | =i= |
diff --git a/.config/emacs/lisp/evil-collection/modes/ripgrep/evil-collection-ripgrep.el b/.config/emacs/lisp/evil-collection/modes/ripgrep/evil-collection-ripgrep.el
deleted file mode 100644
index f96398a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ripgrep/evil-collection-ripgrep.el
+++ /dev/null
@@ -1,48 +0,0 @@
-;;; evil-collection-ripgrep.el --- Bindings for `ripgrep' -*- lexical-binding: t -*-
-
-;; Author: Sid Kasivajhula <sid@countvajhula.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `ripgrep'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'ripgrep nil t)
-
-(defconst evil-collection-ripgrep-maps '(ripgrep-search-mode-map))
-
-;;;###autoload
-(defun evil-collection-ripgrep-setup ()
- "Set up `evil' bindings for `ripgrep'."
- (evil-collection-define-key 'normal 'ripgrep-search-mode-map
- "n" 'evil-search-next
- "\C-k" 'previous-error-no-select
- "\C-j" 'next-error-no-select
- "gk" 'previous-error-no-select
- "gj" 'next-error-no-select
- "{" 'compilation-previous-file
- "}" 'compilation-next-file
- "i" 'wgrep-change-to-wgrep-mode))
-
-
-(provide 'evil-collection-ripgrep)
-;;; evil-collection-ripgrep.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/rjsx-mode/evil-collection-rjsx-mode.el b/.config/emacs/lisp/evil-collection/modes/rjsx-mode/evil-collection-rjsx-mode.el
deleted file mode 100644
index fa99f5f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/rjsx-mode/evil-collection-rjsx-mode.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; evil-collection-rjsx-mode.el --- Bindings for `rjsx-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, rjsx, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `rjsx-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'rjsx-mode nil t)
-
-(defvar rjsx-mode-map)
-
-(defconst evil-collection-rjsx-maps '(rjsx-mode-map))
-
-;;;###autoload
-(defun evil-collection-rjsx-mode-setup ()
- "Set up `evil' bindings for `rjsx-mode'."
- (when evil-want-C-d-scroll
- (evil-collection-define-key 'insert 'rjsx-mode-map
- (kbd "C-d") 'rjsx-delete-creates-full-tag)
- (evil-collection-define-key 'normal 'rjsx-mode-map
- (kbd "C-d") 'evil-scroll-down)))
-
-(provide 'evil-collection-rjsx-mode)
-;;; evil-collection-rjsx-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/robe/evil-collection-robe.el b/.config/emacs/lisp/evil-collection/modes/robe/evil-collection-robe.el
deleted file mode 100644
index 48480b5..0000000
--- a/.config/emacs/lisp/evil-collection/modes/robe/evil-collection-robe.el
+++ /dev/null
@@ -1,45 +0,0 @@
-;;; evil-collection-robe.el --- Bindings for `robe' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, evil, tools, robe
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `robe'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'robe nil t)
-
-(defconst evil-collection-robe-maps '(robe-mode-map))
-
-;;;###autoload
-(defun evil-collection-robe-setup ()
- "Set up `evil' bindings for `robe'."
- (evil-collection-define-key 'normal 'robe-mode-map
- "gd" 'robe-jump
- (kbd "C-t") 'pop-tag-mark
- "K" 'robe-doc
- "gr" 'robe-rails-refresh))
-
-(provide 'evil-collection-robe)
-;;; evil-collection-robe.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/rtags/evil-collection-rtags.el b/.config/emacs/lisp/evil-collection/modes/rtags/evil-collection-rtags.el
deleted file mode 100644
index 009e46d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/rtags/evil-collection-rtags.el
+++ /dev/null
@@ -1,141 +0,0 @@
-;;; evil-collection-rtags.el --- Evil bindings for `rtags' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, rtags, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Evil bindings for `rtags'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'rtags nil t)
-
-(defvar rtags-mode-map)
-(defvar rtags-dependency-tree-mode-map)
-(defvar rtags-references-tree-mode-map)
-(defvar rtags-location-stack-visualize-mode-map)
-
-(defconst evil-collection-rtags-maps '(rtags-mode-map
- rtags-dependency-tree-mode-map
- rtags-references-tree-mode-map
- rtags-location-stack-visualize-mode-map))
-
-;;;###autoload
-(defun evil-collection-rtags-setup ()
- "Set up `evil' bindings for `rtags'."
- (evil-set-initial-state 'rtags-mode 'normal)
- (evil-set-initial-state 'rtags-dependency-tree-mode 'normal)
- (evil-set-initial-state 'rtags-references-tree-mode 'normal)
- (evil-set-initial-state 'rtags-location-stack-visualize-mode 'normal)
-
- (evil-collection-define-key 'normal 'rtags-mode-map
- ;; open
- (kbd "RET") 'rtags-select
- (kbd "S-<return>") 'rtags-select-other-window
- (kbd "M-<return>") 'rtags-show-in-other-window
- (kbd "go") 'rtags-select-other-window
- (kbd "gO") 'rtags-show-in-other-window
- [mouse-1] 'rtags-select-other-window
- [mouse-2] 'rtags-select-other-window
-
- "c" 'rtags-select-caller
- "C" 'rtags-select-caller-other-window
- "x" 'rtags-select-and-remove-rtags-buffer
- "q" 'rtags-call-bury-or-delete)
-
- (evil-collection-define-key 'normal 'rtags-dependency-tree-mode-map
- (kbd "<tab>") 'rtags-dependency-tree-toggle-current-expanded
- "E" 'rtags-dependency-tree-expand-all
- "c" 'rtags-dependency-tree-collapse-all
- "-" 'rtags-dependency-tree-collapse-current
- "+" 'rtags-dependency-tree-expand-current
- "P" 'rtags-dependency-tree-find-path
- "gf" 'rtags-dependency-tree-find-path
-
- "gj" 'rtags-dependency-tree-next-level
- "gk" 'rtags-dependency-tree-previous-level
-
- (kbd "C-j") 'rtags-dependency-tree-next-level
- (kbd "C-k") 'rtags-dependency-tree-previous-level
- "]]" 'rtags-dependency-tree-next-level
- "[[" 'rtags-dependency-tree-previous-level
-
- ;; open
- (kbd "RET") 'rtags-select
- (kbd "S-<return>") 'rtags-select-other-window
- (kbd "M-<return>") 'rtags-show-in-other-window
- "go" 'rtags-select-other-window
- "gO" 'rtags-show-in-other-window
- [mouse-1] 'rtags-select-other-window
- [mouse-2] 'rtags-select-other-window
- "s" 'rtags-show-in-other-window
-
- "x" 'rtags-select-and-remove-rtags-buffer
- "q" 'rtags-call-bury-or-delete)
-
- (evil-collection-define-key 'normal 'rtags-references-tree-mode-map
- (kbd "<tab>") 'rtags-references-tree-toggle-current-expanded
-
- "E" 'rtags-references-tree-expand-all
- "c" 'rtags-references-tree-collapse-all
- "-" 'rtags-references-tree-collapse-current
- "+" 'rtags-references-tree-expand-current
-
- "gj" 'rtags-references-tree-next-level
- "gk" 'rtags-references-tree-previous-level
-
- (kbd "C-j") 'rtags-references-tree-next-level
- (kbd "C-k") 'rtags-references-tree-previous-level
-
- "]]" 'rtags-references-tree-next-level
- "[[" 'rtags-references-tree-previous-level
-
- ;; open
- (kbd "RET") 'rtags-select
- (kbd "S-<return>") 'rtags-select-other-window
- (kbd "M-<return>") 'rtags-show-in-other-window
- "go" 'rtags-select-other-window
- "gO" 'rtags-show-in-other-window
- [mouse-1] 'rtags-select-other-window
- [mouse-2] 'rtags-select-other-window
- "s" 'rtags-show-in-other-window
-
- "x" 'rtags-select-and-remove-rtags-buffer
- "q" 'rtags-call-bury-or-delete)
-
- (evil-collection-define-key 'normal 'rtags-location-stack-visualize-mode-map
- ;; open
- (kbd "RET") 'rtags-select
- (kbd "S-<return>") 'rtags-select-other-window
- (kbd "M-<return>") 'rtags-show-in-other-window
- (kbd "go") 'rtags-select-other-window
- (kbd "gO") 'rtags-show-in-other-window
- [mouse-1] 'rtags-select-other-window
- [mouse-2] 'rtags-select-other-window
- "s" 'rtags-show-in-other-window
-
- "x" 'rtags-select-and-remove-rtags-buffer
- "q" 'rtags-call-bury-or-delete))
-
-(provide 'evil-collection-rtags)
-;;; evil-collection-rtags.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ruby-mode/README.org b/.config/emacs/lisp/evil-collection/modes/ruby-mode/README.org
deleted file mode 100644
index 9d81ad8..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ruby-mode/README.org
+++ /dev/null
@@ -1,9 +0,0 @@
-* ruby-mode
-
- Evil support for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-for-Programmers.html][ruby-mode]].
-
-** Notes
-
- No key bindings are added. =evil-shift-width= is set to
- =ruby-indent-level= on =ruby-mode-hook= so that =>>= / =<<= reindent by
- the same amount as ruby-mode itself.
diff --git a/.config/emacs/lisp/evil-collection/modes/ruby-mode/evil-collection-ruby-mode.el b/.config/emacs/lisp/evil-collection/modes/ruby-mode/evil-collection-ruby-mode.el
deleted file mode 100644
index 347e6c8..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ruby-mode/evil-collection-ruby-mode.el
+++ /dev/null
@@ -1,45 +0,0 @@
-;;; evil-collection-ruby-mode.el --- Bindings for `ruby-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, tools, ruby
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `ruby-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'ruby-mode)
-
-(defconst evil-collection-ruby-mode-maps nil)
-
-(defun evil-collection-ruby-mode-set-evil-shift-width ()
- "Set `evil-shift-width' according to `ruby-indent-level'."
- (setq-local evil-shift-width ruby-indent-level))
-
-;;;###autoload
-(defun evil-collection-ruby-mode-setup ()
- "Set up `evil' bindings for `ruby'."
- (add-hook 'ruby-mode-hook #'evil-collection-ruby-mode-set-evil-shift-width))
-
-(provide 'evil-collection-ruby-mode)
-;;; evil-collection-ruby-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/scheme/README.org b/.config/emacs/lisp/evil-collection/modes/scheme/README.org
deleted file mode 100644
index c9397ba..0000000
--- a/.config/emacs/lisp/evil-collection/modes/scheme/README.org
+++ /dev/null
@@ -1,17 +0,0 @@
-* scheme
-
- Evil bindings for =scheme-mode=.
-
-** Key bindings
-
- Added to =scheme-mode-map= in normal state.
-
- | Command | Original | Evil |
- |-------------------------------+----------+------|
- | =evil-collection-scheme-repl= | n/a | =gz= |
-
-** New commands
-
- | Command | Key | |
- |-------------------------------+------+------------------------------------------------|
- | =evil-collection-scheme-repl= | =gz= | pop to =*scheme*= buffer and call =run-scheme= |
diff --git a/.config/emacs/lisp/evil-collection/modes/scheme/evil-collection-scheme.el b/.config/emacs/lisp/evil-collection/modes/scheme/evil-collection-scheme.el
deleted file mode 100644
index 3d10dd8..0000000
--- a/.config/emacs/lisp/evil-collection/modes/scheme/evil-collection-scheme.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; evil-collection-scheme.el --- Evil bindings for scheme -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, lisp, languages
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for scheme.
-
-;;; Code:
-(require 'evil-collection)
-
-(defconst evil-collection-scheme-maps '(scheme-mode-map))
-
-(defun evil-collection-scheme-repl ()
- "Open the scheme REPL."
- (interactive)
- (pop-to-buffer (get-buffer-create "*scheme*"))
- (call-interactively #'run-scheme))
-
-;;;###autoload
-(defun evil-collection-scheme-setup ()
- "Set up `evil' bindings for `scheme'."
- (evil-collection-define-key 'normal 'scheme-mode-map
- "gz" 'evil-collection-scheme-repl))
-
-(provide 'evil-collection-scheme)
-;;; evil-collection-scheme.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/scroll-lock/README.org b/.config/emacs/lisp/evil-collection/modes/scroll-lock/README.org
deleted file mode 100644
index 4b80844..0000000
--- a/.config/emacs/lisp/evil-collection/modes/scroll-lock/README.org
+++ /dev/null
@@ -1,24 +0,0 @@
-* scroll-lock
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Scrolling.html][scroll-lock-mode]].
-
-** Key bindings
-
- Standard evil motions are remapped to scroll-lock equivalents so the
- cursor stays fixed while the buffer scrolls.
-
- | Command | Remaps from |
- |--------------------------------------------------+---------------------------|
- | =evil-collection-scroll-lock-next-line= | =evil-next-line= |
- | =evil-collection-scroll-lock-previous-line= | =evil-previous-line= |
- | =evil-collection-scroll-lock-forward-paragraph= | =evil-forward-paragraph= |
- | =evil-collection-scroll-lock-backward-paragraph= | =evil-backward-paragraph= |
-
-** New commands
-
- | Command | |
- |--------------------------------------------------+------------------------------------|
- | =evil-collection-scroll-lock-next-line= | line-wise scroll down, point fixed |
- | =evil-collection-scroll-lock-previous-line= | line-wise scroll up, point fixed |
- | =evil-collection-scroll-lock-forward-paragraph= | paragraph scroll down (=:jump t=) |
- | =evil-collection-scroll-lock-backward-paragraph= | paragraph scroll up (=:jump t=) |
diff --git a/.config/emacs/lisp/evil-collection/modes/scroll-lock/evil-collection-scroll-lock.el b/.config/emacs/lisp/evil-collection/modes/scroll-lock/evil-collection-scroll-lock.el
deleted file mode 100644
index ae81b10..0000000
--- a/.config/emacs/lisp/evil-collection/modes/scroll-lock/evil-collection-scroll-lock.el
+++ /dev/null
@@ -1,87 +0,0 @@
-;;; evil-collection-scroll-lock.el --- Bindings for `scroll-lock' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, elisp, lisp
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `scroll-lock'.
-
-;;; Code:
-(require 'scroll-lock)
-(require 'evil-collection)
-
-(declare-function scroll-lock-next-line "scroll-lock")
-(declare-function scroll-lock-previous-line "scroll-lock")
-(declare-function scroll-lock-forward-paragraph "scroll-lock")
-(declare-function scroll-lock-backward-paragraph "scroll-lock")
-
-(defconst evil-collection-scroll-lock-maps '(scroll-lock-mode-map))
-
-(evil-define-motion evil-collection-scroll-lock-next-line (count)
- "Scroll down COUNT lines keeping point fixed."
- :type line
- (let (line-move-visual)
- (scroll-lock-next-line (or count 1))))
-
-(evil-define-motion evil-collection-scroll-lock-previous-line (count)
- "Scroll up COUNT lines keeping point fixed."
- :type line
- (let (line-move-visual)
- (scroll-lock-previous-line (or count 1))))
-
-(evil-define-motion evil-collection-scroll-lock-forward-paragraph (count)
- "Scroll down COUNT paragraphs keeping point fixed."
- :jump t
- :type exclusive
- (evil-signal-at-bob-or-eob count)
- (scroll-lock-forward-paragraph count)
- (unless (eobp) (forward-line)))
-
-(evil-define-motion evil-collection-scroll-lock-backward-paragraph (count)
- "Scroll up COUNT paragraphs keeping point fixed."
- :jump t
- :type exclusive
- (evil-signal-at-bob-or-eob (- (or count 1)))
- (unless (eobp) (forward-line))
- (scroll-lock-backward-paragraph count)
- (unless (bobp) (forward-line -1)))
-
-;;;###autoload
-(defun evil-collection-scroll-lock-setup ()
- "Set up `evil' bindings for `scroll-lock'."
- (evil-collection-define-key 'normal 'scroll-lock-mode-map
- [remap evil-next-line] 'evil-collection-scroll-lock-next-line
- [remap evil-previous-line] 'evil-collection-scroll-lock-previous-line
- [remap evil-forward-paragraph]
- 'evil-collection-scroll-lock-forward-paragraph
- [remap evil-backward-paragraph]
- 'evil-collection-scroll-lock-backward-paragraph)
-
- (evil-add-command-properties
- #'evil-collection-scroll-lock-forward-paragraph :jump t)
- (evil-add-command-properties
- #'evil-collection-scroll-lock-backward-paragraph :jump t)
-
- (add-hook 'scroll-lock-mode-hook 'evil-normalize-keymaps))
-
-(provide 'evil-collection-scroll-lock)
-;;; evil-collection-scroll-lock.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/selectrum/README.org b/.config/emacs/lisp/evil-collection/modes/selectrum/README.org
deleted file mode 100644
index aafc019..0000000
--- a/.config/emacs/lisp/evil-collection/modes/selectrum/README.org
+++ /dev/null
@@ -1,43 +0,0 @@
-* selectrum
-
- Evil bindings for [[https://github.com/radian-software/selectrum][selectrum]], the incremental narrowing UI for the minibuffer.
-
- Bindings are installed only when =evil-collection-setup-minibuffer= is
- non-nil.
-
-** Key bindings
-
-*** selectrum-minibuffer-map (insert and normal)
-
- | Command | Original | Evil |
- |--------------------------------------+----------+---------|
- | =selectrum-previous-page= | =M-v= | =C-b= |
- | =selectrum-next-page= | =C-v= | =C-f= |
- | =selectrum-submit-exact-input= | =C-j= | =M-RET= |
- | =selectrum-select-current-candidate= | =RET= | =RET= |
- | =selectrum-previous-page= | =M-v= | =C-u= |
- | =selectrum-next-page= | =C-v= | =C-d= |
-
- =C-u= and =C-d= are added only when =evil-want-C-u-scroll= and
- =evil-want-C-d-scroll= respectively are non-nil.
-
-*** selectrum-minibuffer-map (insert)
-
- | Command | Original | Evil |
- |--------------------------------+----------+-------|
- | =selectrum-next-candidate= | =C-n= | =C-j= |
- | =selectrum-previous-candidate= | =C-p= | =C-k= |
- | =selectrum-next-candidate= | =C-n= | =C-n= |
- | =selectrum-previous-candidate= | =C-p= | =C-p= |
-
-*** selectrum-minibuffer-map (normal)
-
- | Command | Original | Evil |
- |--------------------------------+----------+------|
- | =selectrum-next-candidate= | n/a | =j= |
- | =selectrum-previous-candidate= | n/a | =k= |
- | =selectrum-next-group= | =C-q n= | =gj= |
- | =selectrum-previous-group= | =C-q p= | =gk= |
- | =selectrum-goto-beginning= | =M-<= | =gg= |
- | =selectrum-goto-end= | =M->= | =G= |
- | =selectrum-kill-ring-save= | =M-w= | =gy= |
diff --git a/.config/emacs/lisp/evil-collection/modes/selectrum/evil-collection-selectrum.el b/.config/emacs/lisp/evil-collection/modes/selectrum/evil-collection-selectrum.el
deleted file mode 100644
index 525e33d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/selectrum/evil-collection-selectrum.el
+++ /dev/null
@@ -1,72 +0,0 @@
-;;; evil-collection-selectrum.el --- Evil bindings for Selectrum -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Balaji Sivaraman
-
-;; Author: Balaji Sivaraman <balaji@balajisivaraman.com>
-;; Maintainer: Balaji Sivaraman <balaji@balajisivaraman.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Selectrum.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'selectrum nil t)
-
-(defconst evil-collection-selectrum-maps '(selectrum-minibuffer-map))
-
-;;;###autoload
-(defun evil-collection-selectrum-setup ()
- "Set up `evil' bindings for `selectrum-mode'."
-
- (defvar evil-collection-setup-minibuffer)
- (when evil-collection-setup-minibuffer
- (evil-collection-define-key '(insert normal) 'selectrum-minibuffer-map
- (kbd "C-b") 'selectrum-previous-page
- (kbd "C-f") 'selectrum-next-page
- (kbd "M-RET") 'selectrum-submit-exact-input
- (kbd "<return>") 'selectrum-select-current-candidate)
-
- (evil-collection-define-key 'insert 'selectrum-minibuffer-map
- (kbd "C-j") 'selectrum-next-candidate
- (kbd "C-k") 'selectrum-previous-candidate
- (kbd "C-n") 'selectrum-next-candidate
- (kbd "C-p") 'selectrum-previous-candidate)
-
- (evil-collection-define-key 'normal 'selectrum-minibuffer-map
- (kbd "j") 'selectrum-next-candidate
- (kbd "k") 'selectrum-previous-candidate
- (kbd "gj") 'selectrum-next-group
- (kbd "gk") 'selectrum-previous-group
- (kbd "G") 'selectrum-goto-end
- (kbd "gg") 'selectrum-goto-beginning
- (kbd "gy") 'selectrum-kill-ring-save)
-
- (when evil-want-C-u-scroll
- (evil-collection-define-key '(insert normal) 'selectrum-minibuffer-map
- (kbd "C-u") 'selectrum-previous-page))
-
- (when evil-want-C-d-scroll
- (evil-collection-define-key '(insert normal) 'selectrum-minibuffer-map
- (kbd "C-d") 'selectrum-next-page))))
-
-(provide 'evil-collection-selectrum)
-;;; evil-collection-selectrum.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/sh-script/README.org b/.config/emacs/lisp/evil-collection/modes/sh-script/README.org
deleted file mode 100644
index 0d63469..0000000
--- a/.config/emacs/lisp/evil-collection/modes/sh-script/README.org
+++ /dev/null
@@ -1,15 +0,0 @@
-* sh-script
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Shell.html][sh-script]] (=sh-mode=).
-
-** Key bindings
-
- Added to =sh-mode-map= in normal state.
-
- | Command | Original | Evil |
- |-----------------+----------+------|
- | =sh-show-shell= | n/a | =gz= |
-
-** Notes
-
- - =evil-shift-width= is set to =sh-basic-offset= on =sh-mode-hook=.
diff --git a/.config/emacs/lisp/evil-collection/modes/sh-script/evil-collection-sh-script.el b/.config/emacs/lisp/evil-collection/modes/sh-script/evil-collection-sh-script.el
deleted file mode 100644
index 35a7bff..0000000
--- a/.config/emacs/lisp/evil-collection/modes/sh-script/evil-collection-sh-script.el
+++ /dev/null
@@ -1,48 +0,0 @@
-;;; evil-collection-sh-script.el --- Evil bindings for sh-script -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for sh-script.
-
-;;; Code:
-(require 'evil-collection)
-(require 'sh-script)
-
-(defconst evil-collection-sh-script-maps '(sh-mode-map))
-
-(defun evil-collection-sh-script-set-evil-shift-width ()
- "Set `evil-shift-width' according to `sh-basic-offset'."
- (setq-local evil-shift-width sh-basic-offset))
-
-;;;###autoload
-(defun evil-collection-sh-script-setup ()
- "Set up `evil' bindings for `sh-script'."
- (add-hook 'sh-mode-hook #'evil-collection-sh-script-set-evil-shift-width)
-
- (evil-collection-define-key 'normal 'sh-mode-map
- "gz" 'sh-show-shell))
-
-(provide 'evil-collection-sh-script)
-;;; evil-collection-sh-script.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/shell-maker/evil-collection-shell-maker.el b/.config/emacs/lisp/evil-collection/modes/shell-maker/evil-collection-shell-maker.el
deleted file mode 100644
index 710fbf4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/shell-maker/evil-collection-shell-maker.el
+++ /dev/null
@@ -1,65 +0,0 @@
-;;; evil-collection-shell-maker.el --- Bindings for `shell-maker' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2026 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, shell-maker, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `shell-maker'.
-;;;
-;;; These bindings apply to `shell-maker-mode' and any derived mode that
-;;; doesn't override RET / S-RET in its own evil state map (for example,
-;;; `agent-shell-mode' inherits from `shell-maker-mode-map').
-
-;;; Code:
-(require 'evil-collection)
-(require 'shell-maker nil t)
-
-(defgroup evil-collection-shell-maker nil
- "Evil bindings for `shell-maker'."
- :group 'evil-collection)
-
-(make-obsolete-variable 'evil-collection-shell-maker-submit-state
- 'evil-collection-repl-submit-state
- "evil-collection 0.0.2")
-
-(defconst evil-collection-shell-maker-maps '(shell-maker-mode-map))
-
-
-(defvar shell-maker-mode-map)
-
-;;;###autoload
-(defun evil-collection-shell-maker-setup ()
- "Set up `evil' bindings for `shell-maker'."
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'shell-maker-mode-map
- (kbd "RET") 'shell-maker-submit)
- (evil-collection-define-key newline-state 'shell-maker-mode-map
- (kbd "RET") 'newline))
-
- (evil-collection-define-key 'insert 'shell-maker-mode-map
- (kbd "S-<return>") 'newline)
- (evil-collection-define-key 'normal 'shell-maker-mode-map
- (kbd "S-<return>") 'newline))
-
-(provide 'evil-collection-shell-maker)
-;;; evil-collection-shell-maker.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/shortdoc/README.org b/.config/emacs/lisp/evil-collection/modes/shortdoc/README.org
deleted file mode 100644
index ec50145..0000000
--- a/.config/emacs/lisp/evil-collection/modes/shortdoc/README.org
+++ /dev/null
@@ -1,20 +0,0 @@
-* shortdoc
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Documentation-Groups.html][shortdoc]].
-
-** Key bindings
-
- Bindings added to =shortdoc-mode-map= in normal state (initial state:
- normal).
-
- | Command | Original | Evil |
- |-----------------------------+----------------+-------------|
- | =forward-button= | n/a | =TAB= |
- | =backward-button= | n/a | =<backtab>= |
- | =shortdoc-next= | =n= | =C-j= |
- | =shortdoc-previous= | =p= | =C-k= |
- | =shortdoc-next-section= | =N=, =C-c C-n= | =]]= |
- | =shortdoc-previous-section= | =P=, =C-c C-p= | =[[= |
-
- The upstream =n=, =p=, =N=, =P=, =w= keys keep their bindings so they
- remain available alongside the evil-friendly additions.
diff --git a/.config/emacs/lisp/evil-collection/modes/shortdoc/evil-collection-shortdoc.el b/.config/emacs/lisp/evil-collection/modes/shortdoc/evil-collection-shortdoc.el
deleted file mode 100644
index 03e5061..0000000
--- a/.config/emacs/lisp/evil-collection/modes/shortdoc/evil-collection-shortdoc.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-shortdoc.el --- Evil bindings for shortdoc -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; TODO: Update to emacs 28.1 when it's out
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, lisp, help
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for shortdoc.
-
-;;; Code:
-(require 'evil-collection)
-(require 'shortdoc nil t)
-
-(defconst evil-collection-shortdoc-maps '(shortdoc-mode-map))
-
-;;;###autoload
-(defun evil-collection-shortdoc-setup ()
- "Set up `evil' bindings for `shortdoc'."
- (evil-set-initial-state 'shortdoc-mode 'normal)
- (evil-collection-define-key 'normal 'shortdoc-mode-map
- (kbd "<tab>") 'forward-button
- (kbd "<backtab>") 'backward-button
- (kbd "C-k") 'shortdoc-previous
- (kbd "C-j") 'shortdoc-next
- "[[" 'shortdoc-previous-section
- "]]" 'shortdoc-next-section))
-
-(provide 'evil-collection-shortdoc)
-;;; evil-collection-shortdoc.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/simple-mpc/evil-collection-simple-mpc.el b/.config/emacs/lisp/evil-collection/modes/simple-mpc/evil-collection-simple-mpc.el
deleted file mode 100644
index fea1bb0..0000000
--- a/.config/emacs/lisp/evil-collection/modes/simple-mpc/evil-collection-simple-mpc.el
+++ /dev/null
@@ -1,122 +0,0 @@
-;;; evil-collection-simple-mpc.el --- Bindings for `simple-mpc' -*- lexical-binding: t -*-
-;; Copyright (C) 2022 Joseph Turner
-
-;; Author: Joseph Turner <joseph@breatheoutbreathe.in>
-;; Maintainer: Joseph Turner <joseph@breatheoutbreathe.in>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, simple-mpc, processes, mpd
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `simple-mpc'.
-
-;;; Code:
-(require 'simple-mpc nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-simple-mpc-maps '(simple-mpc-mode-map
- simple-mpc-query-mode-map
- simple-mpc-current-playlist-mode-map))
-
-(defun evil-collection-simple-mpc-set-bindings ()
- "Set up `evil' bindings for `simple-mpc'.
-
-Other modes that are configured:
-`simple-mpc-mode'
-`simple-mpc-query-mode'
-`simple-mpc-current-playlist-mode'"
- (evil-collection-define-key 'normal 'simple-mpc-mode-map
- "p" 'simple-mpc-toggle
- ">" 'simple-mpc-next
- "<" 'simple-mpc-prev
- "f" 'simple-mpc-seek-forward
- "b" 'simple-mpc-seek-backward
- "s" 'simple-mpc-query
- "c" 'simple-mpc-view-current-playlist
- "l" 'simple-mpc-load-playlist
- "S" 'simple-mpc-shuffle-current-playlist
- "C" 'simple-mpc-clear-current-playlist
- "+" 'simple-mpc-increase-volume
- "-" 'simple-mpc-decrease-volume
-
- "q" 'simple-mpc-quit
- "ZQ" 'simple-mpc-quit
- "ZZ" 'simple-mpc-quit)
-
- (evil-collection-define-key 'normal 'simple-mpc-current-playlist-mode-map
- "x" 'simple-mpc-delete
- "d" 'simple-mpc-delete
-
- "q" 'simple-mpc-current-playlist-quit
- "ZQ" 'simple-mpc-current-playlist-quit
- "ZZ" 'simple-mpc-current-playlist-quit
-
- "<return>" 'simple-mpc-play-current-line
- (kbd "RET") 'simple-mpc-play-current-line)
-
- (evil-collection-define-key 'normal 'simple-mpc-query-mode-map
- "o" 'simple-mpc-query-sort
-
- "q" 'simple-mpc-query-quit
- "ZQ" 'simple-mpc-query-quit
- "ZZ" 'simple-mpc-query-quit
-
- "<S-return>" 'simple-mpc-query-add
- (kbd "M-RET") 'simple-mpc-query-add
-
- "<return>" 'simple-mpc-query-add-and-play
- (kbd "RET") 'simple-mpc-query-add-and-play))
-
-(defvar simple-mpc-main-buffer-name "*simple-mpc-main*")
-
-(defun evil-collection-simple-mpc-replace-main-view ()
- "Update main view to show keys in use with evil mode."
- (interactive)
- (when
- (string= (buffer-name) simple-mpc-main-buffer-name)
- (read-only-mode -1)
- (erase-buffer)
- (insert (propertize "* simple-mpc *\n\n"
- 'face 'simple-mpc-main-name)
- (propertize " * controls\n" 'face 'simple-mpc-main-headers)
- " * [p]lay/pause toggle\n"
- " * [>] next track\n"
- " * [<] previous track\n"
- " * seek [f]orward\n"
-
- " * seek [b]ackward\n"
- " * [+] increase volume\n"
- " * [-] decrease volume\n"
- (propertize "\n * playlist\n" 'face 'simple-mpc-main-headers)
- " * view [c]urrent playlist\n"
- " * [C]lear current playlist\n"
- " * [S]huffle playlist\n"
- " * [l]oad playlist\n"
- " * [s]earch database\n"
- (propertize "\n * misc\n" 'face 'simple-mpc-main-headers)
- " * [q]uit")))
-
-;;;###autoload
-(defun evil-collection-simple-mpc-setup ()
- "Set up simple-mpc bindings and main view."
- (evil-collection-simple-mpc-set-bindings)
- (add-hook 'simple-mpc-mode-hook 'evil-collection-simple-mpc-replace-main-view)
- (add-hook 'simple-mpc-query-mode-hook 'evil-normalize-keymaps)
- (add-hook 'simple-mpc-current-playlist-mode-hook 'evil-normalize-keymaps))
-
-(provide 'evil-collection-simple-mpc)
-;;; evil-collection-simple-mpc.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/simple/README.org b/.config/emacs/lisp/evil-collection/modes/simple/README.org
deleted file mode 100644
index 5cbc496..0000000
--- a/.config/emacs/lisp/evil-collection/modes/simple/README.org
+++ /dev/null
@@ -1,23 +0,0 @@
-* simple
-
- Evil bindings for =special-mode-map=, the base keymap shared by many
- read-only Emacs buffers.
-
-** Key bindings
-
- Applies =evil-collection-set-readonly-bindings= to =special-mode-map=
- (standard motion / quit bindings for read-only buffers), then layers:
-
- | Command | Original | Evil |
- |-----------------+----------+------|
- | =revert-buffer= | =g= | =gr= |
-
- The following upstream single-letter bindings are unset so they do not
- shadow evil normal-state keys:
-
- | Key | Was upstream |
- |-----+------------------|
- | =g= | =revert-buffer= |
- | =h= | =describe-mode= |
- | =?= | =describe-mode= |
- | =0= | =digit-argument= |
diff --git a/.config/emacs/lisp/evil-collection/modes/simple/evil-collection-simple.el b/.config/emacs/lisp/evil-collection/modes/simple/evil-collection-simple.el
deleted file mode 100644
index 9f8b7b6..0000000
--- a/.config/emacs/lisp/evil-collection/modes/simple/evil-collection-simple.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-simple.el --- Bindings for `simple' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `simple'
-
-;;; Code:
-(require 'evil-collection)
-(require 'simple)
-
-(defvar special-mode-map)
-
-(defconst evil-collection-simple-maps '(special-mode-map))
-
-;;;###autoload
-(defun evil-collection-simple-setup ()
- "Set up `evil' bindings for `simple'."
- (evil-collection-set-readonly-bindings 'special-mode-map)
- (evil-collection-define-key nil 'special-mode-map
- "g" nil
- "gr" 'revert-buffer
- "h" nil
- "?" nil
- "0" nil))
-
-(provide 'evil-collection-simple)
-;;; evil-collection-simple.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/slime/evil-collection-slime.el b/.config/emacs/lisp/evil-collection/modes/slime/evil-collection-slime.el
deleted file mode 100644
index f89af6f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/slime/evil-collection-slime.el
+++ /dev/null
@@ -1,222 +0,0 @@
-;;; evil-collection-slime.el --- Evil bindings for `slime' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, slime, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `slime-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'slime nil t)
-
-(defvar slime-parent-map)
-(defvar sldb-mode-map)
-(defvar slime-inspector-mode-map)
-(defvar slime-mode-map)
-(defvar slime-popup-buffer-mode-map)
-(defvar slime-thread-control-mode-map)
-(defvar slime-xref-mode-map)
-
-(defconst evil-collection-slime-maps '(slime-parent-map
- sldb-mode-map
- slime-inspector-mode-map
- slime-mode-map
- slime-popup-buffer-mode-map
- slime-thread-control-mode-map
- slime-xref-mode-map))
-
-(defun evil-collection-slime-last-sexp (command &rest args)
- "In normal-state or motion-state, last sexp ends at point."
- (if (and (not evil-move-beyond-eol)
- (or (evil-normal-state-p) (evil-motion-state-p)))
- (save-excursion
- (unless (or (eobp) (eolp)) (forward-char))
- (apply command args))
- (apply command args)))
-
-;;;###autoload
-(defun evil-collection-slime-setup ()
- "Set up `evil' bindings for `slime'."
- (unless evil-move-beyond-eol
- (advice-add 'slime-eval-last-expression :around 'evil-collection-slime-last-sexp)
- (advice-add 'slime-pprint-eval-last-expression :around 'evil-collection-slime-last-sexp)
- (advice-add 'slime-eval-print-last-expression :around 'evil-collection-slime-last-sexp)
- (advice-add 'slime-eval-last-expression-in-repl
- :around 'evil-collection-slime-last-sexp))
-
- (evil-set-initial-state 'sldb-mode 'normal)
- (evil-set-initial-state 'slime-inspector-mode 'normal)
- (evil-set-initial-state 'slime-popup-buffer-mode 'normal)
- (evil-set-initial-state 'slime-thread-control-mode 'normal)
- (evil-set-initial-state 'slime-xref-mode 'normal)
-
- (evil-collection-define-key 'normal 'slime-parent-map
- "gd" 'slime-edit-definition
- (kbd "C-t") 'slime-pop-find-definition-stack)
-
- (evil-collection-define-key 'normal 'sldb-mode-map
- (kbd "RET") 'sldb-default-action
- [mouse-2] 'sldb-default-action/mouse
- [follow-link] 'mouse-face
- "\C-i" 'sldb-cycle
- "g?" 'describe-mode
- "S" 'sldb-show-source
- "e" 'sldb-eval-in-frame
- "d" 'sldb-pprint-eval-in-frame
- "D" 'sldb-disassemble
- "i" 'sldb-inspect-in-frame
- "gj" 'sldb-down
- "gk" 'sldb-up
- (kbd "C-j") 'sldb-down
- (kbd "C-k") 'sldb-up
- "]]" 'sldb-details-down
- "[[" 'sldb-details-up
- (kbd "M-j") 'sldb-details-down
- (kbd "M-k") 'sldb-details-up
- "gg" 'sldb-beginning-of-backtrace
- "G" 'sldb-end-of-backtrace
- "t" 'sldb-toggle-details
- "gr" 'sldb-restart-frame
- "I" 'sldb-invoke-restart-by-name
- "R" 'sldb-return-from-frame
- "c" 'sldb-continue
- "s" 'sldb-step
- "n" 'sldb-next
- "o" 'sldb-out
- "b" 'sldb-break-on-return
- "a" 'sldb-abort
- "q" 'sldb-quit
- "A" 'sldb-break-with-system-debugger
- "B" 'sldb-break-with-default-debugger
- "P" 'sldb-print-condition
- "C" 'sldb-inspect-condition
- "g:" 'slime-interactive-eval
- "0" 'sldb-invoke-restart-0
- "1" 'sldb-invoke-restart-1
- "2" 'sldb-invoke-restart-2
- "3" 'sldb-invoke-restart-3
- "4" 'sldb-invoke-restart-4
- "5" 'sldb-invoke-restart-5
- "6" 'sldb-invoke-restart-6
- "7" 'sldb-invoke-restart-7
- "8" 'sldb-invoke-restart-8
- "9" 'sldb-invoke-restart-9)
-
- (evil-collection-define-key 'normal 'slime-inspector-mode-map
- (kbd "RET") 'slime-inspector-operate-on-point
- [mouse-1] 'slime-inspector-operate-on-click
- [mouse-2] 'slime-inspector-operate-on-click
- [mouse-6] 'slime-inspector-pop
- [mouse-7] 'slime-inspector-next
- ;; TODO: `slime-inspector-next' and `slime-inspector-pop' should probably
- ;; just be bound to C-i and C-o.
- "gk" 'slime-inspector-pop
- (kbd "C-k") 'slime-inspector-pop
- "[[" 'slime-inspector-pop
- (kbd "C-o") 'slime-inspector-pop
- "gj" 'slime-inspector-next
- (kbd "C-j") 'slime-inspector-next
- "]]" 'slime-inspector-next
- (kbd "C-i") 'slime-inspector-next
- "K" 'slime-inspector-describe
- "p" 'slime-inspector-pprint
- "e" 'slime-inspector-eval
- "M-p" 'slime-inspector-history
- "gr" 'slime-inspector-reinspect
- "gv" 'slime-inspector-toggle-verbose
- (kbd "<tab>") 'slime-inspector-next-inspectable-object
- (kbd "C-i") 'slime-inspector-next-inspectable-object
- (kbd "<S-tab>") 'slime-inspector-previous-inspectable-object ; Emacs translates S-TAB
- (kbd "<backtab>") 'slime-inspector-previous-inspectable-object ; to BACKTAB on X.
- "." 'slime-inspector-show-source
- "gd" 'slime-inspector-show-source
- "gR" 'slime-inspector-fetch-all
- "q" 'slime-inspector-quit)
-
- (evil-collection-define-key 'normal 'slime-mode-map
- (kbd "K") 'slime-describe-symbol
- (kbd "C-t") 'slime-pop-find-definition-stack
- ;; goto
- "gd" 'slime-edit-definition
- "gz" 'slime-switch-to-output-buffer)
-
- (when evil-collection-want-find-usages-bindings
- (evil-collection-define-key 'normal 'slime-mode-map
- "gr" 'slime-edit-uses))
-
- (evil-collection-define-key 'normal 'slime-popup-buffer-mode-map
- ;; quit
- "q" 'quit-window
-
- (kbd "C-t") 'slime-pop-find-definition-stack
-
- ;; goto
- "gd" 'slime-edit-definition)
-
- (evil-collection-inhibit-insert-state 'slime-thread-control-mode-map)
- (evil-collection-define-key 'normal 'slime-thread-control-mode-map
- "a" 'slime-thread-attach
- "d" 'slime-thread-debug
- "x" 'slime-thread-kill
- "gr" 'slime-update-threads-buffer)
-
- (evil-collection-define-key 'normal 'slime-xref-mode-map
- (kbd "RET") 'slime-goto-xref
- (kbd "S-<return>") 'slime-goto-xref
- "go" 'slime-show-xref
- "gj" 'slime-xref-next-line
- "gk" 'slime-xref-prev-line
- (kbd "C-j") 'slime-xref-next-line
- (kbd "C-k") 'slime-xref-prev-line
- "]]" 'slime-xref-next-line
- "[[" 'slime-xref-prev-line
- "gr" 'slime-recompile-xref
- "gR" 'slime-recompile-all-xrefs
- "r" 'slime-xref-retract)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'slime-repl-mode-map
- (kbd "RET") 'slime-repl-return
- (kbd "\C-m") 'slime-repl-return
- [return] 'slime-repl-return)
- (evil-collection-define-key newline-state 'slime-repl-mode-map
- (kbd "RET") 'slime-repl-newline-and-indent
- (kbd "\C-m") 'slime-repl-newline-and-indent
- [return] 'slime-repl-newline-and-indent))
-
- (evil-collection-define-key 'normal 'slime-repl-mode-map
- "gj" 'slime-repl-next-prompt
- "gk" 'slime-repl-previous-prompt
- (kbd "C-j") 'slime-repl-next-prompt
- (kbd "C-k") 'slime-repl-previous-prompt
- "]]" 'slime-repl-next-prompt
- "[[" 'slime-repl-previous-prompt
- (kbd "C-p") 'slime-repl-previous-input
- (kbd "C-n") 'slime-repl-next-input)
-
- (add-hook 'slime-popup-buffer-mode-hook #'evil-normalize-keymaps))
-
-(provide 'evil-collection-slime)
-;;; evil-collection-slime.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/sly/evil-collection-sly.el b/.config/emacs/lisp/evil-collection/modes/sly/evil-collection-sly.el
deleted file mode 100644
index 0443f2a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/sly/evil-collection-sly.el
+++ /dev/null
@@ -1,276 +0,0 @@
-;;; evil-collection-sly.el --- Evil bindings for `sly' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 Pierre Neidhardt
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, sly, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `sly-mode'.
-
-;;; Code:
-;; WARNING: This mirrors evil-collection-slime.el. Keep them in sync!
-
-(require 'evil-collection)
-(require 'sly nil t)
-
-(declare-function sly-last-expression "sly")
-(declare-function sly-eval-print "sly")
-
-(defvar sly-connection-list-mode-map)
-(defvar sly-db-mode-map)
-(defvar sly-inspector-mode-map)
-(defvar sly-mode-map)
-(defvar sly-popup-buffer-mode-map)
-(defvar sly-thread-control-mode-map)
-(defvar sly-trace-dialog-mode-map)
-(defvar sly-stickers--replay-mode-map)
-(defvar sly-xref-mode-map)
-
-(defconst evil-collection-sly-maps '(sly-connection-list-mode-map
- sly-db-mode-map
- sly-inspector-mode-map
- sly-mode-map
- sly-popup-buffer-mode-map
- sly-stickers--replay-mode-map
- sly-thread-control-mode-map
- sly-trace-dialog-mode-map
- sly-xref-mode-map))
-
-;; Same as `evil-collection-slime-last-sexp'.
-(defun evil-collection-sly-last-sexp (command &rest args)
- "In normal-state or motion-state, last sexp ends at point."
- (if (and (not evil-move-beyond-eol)
- (or (evil-normal-state-p) (evil-motion-state-p)))
- (save-excursion
- (unless (or (eobp) (eolp)) (forward-char))
- (apply command args))
- (apply command args)))
-
-(defun evil-collection-sly-eval-print-last-expression (string)
- "Evaluate sexp before point; print value into the current buffer.
-
-Evil version of `sly-eval-print-last-expression' that accounts for
-`evil-move-beyond-eol'."
- (interactive
- (list (progn
- (when (and (not evil-move-beyond-eol)
- (or (evil-normal-state-p) (evil-motion-state-p)))
- (unless (or (eobp) (eolp))
- (forward-char)))
- (sly-last-expression))))
- (insert "\n")
- (sly-eval-print string))
-
-;;;###autoload
-(defun evil-collection-sly-setup ()
- "Set up `evil' bindings for `sly'."
- (unless evil-move-beyond-eol
- (advice-add 'sly-eval-last-expression :around 'evil-collection-sly-last-sexp)
- (advice-add 'sly-pprint-eval-last-expression :around 'evil-collection-sly-last-sexp)
- (advice-add 'sly-mrepl-return :around 'evil-collection-sly-last-sexp)
- (advice-add 'sly-eval-print-last-expression :override 'evil-collection-sly-eval-print-last-expression))
-
- (evil-collection-define-key 'normal 'sly-db-mode-map
- [follow-link] 'mouse-face
- "\C-i" 'sly-db-cycle
- "g?" 'describe-mode
- "S" 'sly-db-show-frame-source
- "e" 'sly-db-eval-in-frame
- "d" 'sly-db-pprint-eval-in-frame
- "D" 'sly-db-disassemble
- "i" 'sly-db-inspect-in-frame
- "gj" 'sly-db-down
- "gk" 'sly-db-up
- (kbd "C-j") 'sly-db-down
- (kbd "C-k") 'sly-db-up
- "]]" 'sly-db-details-down
- "[[" 'sly-db-details-up
- (kbd "M-j") 'sly-db-details-down
- (kbd "M-k") 'sly-db-details-up
- "gg" 'sly-db-beginning-of-backtrace
- "G" 'sly-db-end-of-backtrace
- "t" 'sly-db-toggle-details
- "gr" 'sly-db-restart-frame
- "I" 'sly-db-invoke-restart-by-name
- "R" 'sly-db-return-from-frame
- "c" 'sly-db-continue
- "s" 'sly-db-step
- "n" 'sly-db-next
- "o" 'sly-db-out
- "b" 'sly-db-break-on-return
- "a" 'sly-db-abort
- "q" 'sly-db-quit
- "A" 'sly-db-break-with-system-debugger
- "B" 'sly-db-break-with-default-debugger
- "P" 'sly-db-print-condition
- "C" 'sly-db-inspect-condition
- "g:" 'sly-interactive-eval
- "0" 'sly-db-invoke-restart-0
- "1" 'sly-db-invoke-restart-1
- "2" 'sly-db-invoke-restart-2
- "3" 'sly-db-invoke-restart-3
- "4" 'sly-db-invoke-restart-4
- "5" 'sly-db-invoke-restart-5
- "6" 'sly-db-invoke-restart-6
- "7" 'sly-db-invoke-restart-7
- "8" 'sly-db-invoke-restart-8
- "9" 'sly-db-invoke-restart-9)
-
- (evil-collection-define-key 'normal 'sly-inspector-mode-map
- [mouse-6] 'sly-inspector-pop
- [mouse-7] 'sly-inspector-next
- ;; TODO: `sly-inspector-next' and `sly-inspector-pop' should probably
- ;; just be bound to C-i and C-o.
- "gk" 'sly-inspector-pop
- (kbd "C-k") 'sly-inspector-pop
- "[[" 'sly-inspector-pop
- (kbd "C-o") 'sly-inspector-pop
- "gj" 'sly-inspector-next
- (kbd "C-j") 'sly-inspector-next
- "]]" 'sly-inspector-next
- (kbd "C-i") 'sly-inspector-next
- "K" 'sly-inspector-describe-inspectee
- "e" 'sly-inspector-eval
- "M-p" 'sly-inspector-history
- "gr" 'sly-inspector-reinspect
- "gv" 'sly-inspector-toggle-verbose
- (kbd "<tab>") 'forward-button
- (kbd "C-i") 'forward-button
- (kbd "<S-tab>") 'backward-button ; Emacs translates S-TAB
- (kbd "<backtab>") 'backward-button ; to BACKTAB on X.
- "." 'sly-edit-definition
- "gd" 'sly-edit-definition
- "gR" 'sly-inspector-fetch-all
- "q" 'sly-inspector-quit)
-
- (evil-collection-define-key 'normal 'sly-mode-map
- (kbd "K") 'sly-describe-symbol
- (kbd "C-t") 'sly-pop-find-definition-stack
- ;; goto
- "gd" 'sly-edit-definition
- "gz" 'sly-mrepl)
-
- (when evil-collection-want-find-usages-bindings
- (evil-collection-define-key 'normal 'sly-mode-map
- "gr" 'sly-who-references))
-
- (evil-collection-define-key 'normal 'sly-popup-buffer-mode-map
- ;; quit
- "q" 'quit-window
-
- (kbd "C-t") 'sly-pop-find-definition-stack
-
- ;; goto
- "gd" 'sly-edit-definition)
-
- (evil-collection-inhibit-insert-state 'sly-thread-control-mode-map)
- (evil-collection-define-key 'normal 'sly-thread-control-mode-map
- "a" 'sly-thread-attach
- "d" 'sly-thread-debug
- "x" 'sly-thread-kill
- "gr" 'sly-update-threads-buffer)
-
- (evil-collection-define-key 'normal 'sly-xref-mode-map
- "q" 'quit-window
- (kbd "RET") 'sly-xref-goto
- (kbd "SPC") 'sly-xref-show
- "go" 'sly-show-xref
- (kbd "<tab>") 'forward-button
- (kbd "C-i") 'forward-button
- (kbd "<S-tab>") 'backward-button ; Emacs translates S-TAB
- (kbd "<backtab>") 'backward-button ; to BACKTAB on X.
- "gj" 'sly-xref-next-line
- "gk" 'sly-xref-prev-line
- (kbd "C-j") 'sly-xref-next-line
- (kbd "C-k") 'sly-xref-prev-line
- "]]" 'sly-xref-next-line
- "[[" 'sly-xref-prev-line
- "gr" 'sly-recompile-xref
- "gR" 'sly-recompile-all-xrefs
- ;; "r" 'sly-xref-retract ; TODO: Equivalent for Sly?
- )
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'sly-mrepl-mode-map
- (kbd "RET") 'sly-mrepl-return)
- (evil-collection-define-key newline-state 'sly-mrepl-mode-map
- (kbd "RET") 'newline))
-
- (evil-collection-define-key 'normal 'sly-mrepl-mode-map
- "gj" 'sly-mrepl-next-prompt
- "gk" 'sly-mrepl-previous-prompt
- (kbd "C-j") 'sly-mrepl-next-prompt
- (kbd "C-k") 'sly-mrepl-previous-prompt
- "]]" 'sly-mrepl-next-prompt
- "[[" 'sly-mrepl-previous-prompt
- (kbd "C-p") 'sly-mrepl-previous-input-or-button
- (kbd "C-n") 'sly-mrepl-next-input-or-button)
-
- (evil-collection-define-key 'normal 'sly-trace-dialog-mode-map
- "q" 'quit-window
- "gr" 'sly-trace-dialog-fetch-status
- "gR" 'sly-trace-dialog-fetch-traces)
-
- (evil-collection-define-key 'normal 'sly-stickers--replay-mode-map
- ;; The "n", "p", "x", "h" and "q" key are hard-coded in the description, so
- ;; we need to set them to the expected command.
- "gg" 'sly-stickers-replay-jump-to-beginning
- "G" 'sly-stickers-replay-jump-to-end
- "F" 'sly-stickers-forget
- "J" 'sly-stickers-replay-next-for-sticker
- "K" 'sly-stickers-replay-prev-for-sticker
- "N" 'sly-stickers-replay-next-for-sticker
- "P" 'sly-stickers-replay-prev-for-sticker
- "R" 'sly-stickers-replay-reset-ignore-list
- "zv" 'sly-stickers-replay-toggle-pop-to-stickers
- "h" 'sly-stickers-replay-toggle-help
- "g?" 'sly-stickers-replay-toggle-help
- "gd" 'sly-stickers-replay-jump
- "j" 'sly-stickers-replay-next
- "k" 'sly-stickers-replay-prev
- "n" 'sly-stickers-replay-next
- "p" 'sly-stickers-replay-prev
- "q" 'quit-window
- "go" 'sly-stickers-replay-pop-to-current-sticker
- "v" 'sly-stickers-replay-pop-to-current-sticker
- "x" 'sly-stickers-replay-toggle-ignore-sticker
- "zi" 'sly-stickers-replay-toggle-ignore-sticker
- "zz" 'sly-stickers-replay-toggle-ignore-zombies)
-
- (evil-collection-define-key 'normal 'sly-connection-list-mode-map
- (kbd "<tab>") 'forward-button
- (kbd "C-i") 'forward-button
- (kbd "<S-tab>") 'backward-button
- (kbd "<backtab>") 'backward-button
- (kbd "RET") 'sly-connection-list-default-action
- "R" 'sly-restart-connection-at-point
- "d" 'sly-connection-list-make-default
- "x" 'sly-quit-connection-at-point
- "gr" 'sly-update-connection-list
- "o" 'tabulated-list-sort
- "q" 'quit-window)
-
- (add-hook 'sly-popup-buffer-mode-hook #'evil-normalize-keymaps))
-
-(provide 'evil-collection-sly)
-;;; evil-collection-sly.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/smerge-mode/README.org b/.config/emacs/lisp/evil-collection/modes/smerge-mode/README.org
deleted file mode 100644
index 44871a7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/smerge-mode/README.org
+++ /dev/null
@@ -1,16 +0,0 @@
-* smerge
-
- The table below shows the binding changes that are made to smerge-mode.
-
-| Command | Original Binding | evil-collection-smerge |
-|----------------------------+------------------+------------------------|
-| =smerge-next= | =C-c ^ n= | =gj, ]]= |
-| =smerge-prev= | =C-c ^ p= | =gk, [[= |
-| =smerge-keep-all= | =C-c ^ a= | =ga= |
-| =smerge-keep-upper= | =C-c ^ u= | =gu= |
-| =smerge-keep-lower= | =C-c ^ l= | =gl= |
-| =smerge-keep-other= | =C-c ^ o= | =go= |
-| =smerge-keep-mine= | =C-c ^ m= | =gm= |
-| =smerge-combine-with-next= | =C-c ^ C= | =gc= |
-| =smerge-refine= | =C-c ^ R= | =gr= |
-| =smerge-keep-base= | =C-c ^ b= | =gb= |
diff --git a/.config/emacs/lisp/evil-collection/modes/smerge-mode/evil-collection-smerge-mode.el b/.config/emacs/lisp/evil-collection/modes/smerge-mode/evil-collection-smerge-mode.el
deleted file mode 100644
index fa939c5..0000000
--- a/.config/emacs/lisp/evil-collection/modes/smerge-mode/evil-collection-smerge-mode.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; evil-collection-smerge-mode.el --- Bindings for `smerge-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 pspiagicw
-
-;; Author: pspiagicw <pspiagicw@gmail.com>
-;; Maintainer: pspiagicw <pspiagicw@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, python, tools, emacs
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `smerge-mode'.
-;;; Code:
-(require 'evil-collection)
-(require 'smerge-mode)
-;;
-
-(defconst evil-collection-smerge-mode-maps '(smerge-mode-map))
-
-;;;###autoload
-(defun evil-collection-smerge-mode-setup ()
- "Setup up `evil' bindings for `smerge-mode'."
- (add-hook 'smerge-mode-hook #'evil-normalize-keymaps)
- (evil-collection-define-key 'normal 'smerge-mode-map
- "gj" 'smerge-next
- "]]" 'smerge-next
- "gk" 'smerge-prev
- "[[" 'smerge-prev
- "gr" 'smerge-resolve
- "ga" 'smerge-keep-all
- "gu" 'smerge-keep-upper
- "gl" 'smerge-keep-lower
- "go" 'smerge-keep-other
- "gm" 'smerge-keep-mine
- "gc" 'smerge-combine-with-next
- "gR" 'smerge-refine
- "gb" 'smerge-keep-base))
-
-(provide 'evil-collection-smerge-mode)
-;;; evil-collection-smerge-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/snake/README.org b/.config/emacs/lisp/evil-collection/modes/snake/README.org
deleted file mode 100644
index 0234ac4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/snake/README.org
+++ /dev/null
@@ -1,16 +0,0 @@
-* snake
-
- Evil bindings for =snake=, the built-in implementation of the classic arcade game.
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------+------------------+-----------|
- | =snake-move-left= | =<left>=, =C-b= | =h= |
- | =snake-move-right= | =<right>=, =C-f= | =l= |
- | =snake-move-down= | =<down>=, =C-n= | =j= |
- | =snake-move-up= | =<up>=, =C-p= | =k= |
- | =snake-start-game= | =n= | =gr= |
- | =snake-pause-game= | =p= | =p= |
- | =snake-end-game= | =q= | =ZZ= |
- | =quit-window= | n/a | =q=, =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/snake/evil-collection-snake.el b/.config/emacs/lisp/evil-collection/modes/snake/evil-collection-snake.el
deleted file mode 100644
index f1fc86e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/snake/evil-collection-snake.el
+++ /dev/null
@@ -1,50 +0,0 @@
-;;; evil-collection-snake.el --- Bindings for `snake' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-;; Copyright (C) 2022 Farzin Firouzi
-
-;; Author: Farzin Firouzi <farzineff@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `snake'.
-
-;;; Code:
-(require 'evil-collection)
-
-(defconst evil-collection-snake-maps '(snake-mode-map))
-
-;;;###autoload
-(defun evil-collection-snake-setup ()
- "Set up `evil' bindings for `snake'."
- (evil-set-initial-state 'snake-mode 'normal)
- (evil-collection-define-key 'normal 'snake-mode-map
- "h" 'snake-move-left
- "l" 'snake-move-right
- "j" 'snake-move-down
- "k" 'snake-move-up
- "gr" 'snake-start-game
- "p" 'snake-pause-game
- "q" 'quit-window
- "ZQ" 'quit-window
- "ZZ" 'snake-end-game))
-
-(provide 'evil-collection-snake)
-;;; evil-collection-snake.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/so-long/README.org b/.config/emacs/lisp/evil-collection/modes/so-long/README.org
deleted file mode 100644
index f8ff959..0000000
--- a/.config/emacs/lisp/evil-collection/modes/so-long/README.org
+++ /dev/null
@@ -1,22 +0,0 @@
-* so-long
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/So-Long.html][so-long]], which mitigates performance problems in buffers with very long lines.
-
-** Key bindings
-
- Normal and visual state bindings added to =so-long-mode-map=. The defaults
- make motion respect visual lines, matching how so-long buffers are usually
- read.
-
- | Command | Original | Evil |
- |---------------------------------------+----------+-----------|
- | =evil-next-visual-line= | n/a | =j= |
- | =evil-previous-visual-line= | n/a | =k= |
- | =evil-next-line= | n/a | =gj= |
- | =evil-previous-line= | n/a | =gk= |
- | =evil-beginning-of-visual-line= | n/a | =0=, =g0= |
- | =evil-end-of-visual-line= | n/a | =$= |
- | =evil-end-of-line= | n/a | =g$= |
- | =evil-first-non-blank-of-visual-line= | n/a | =^= |
- | =evil-first-non-blank= | n/a | =g^= |
- | =end-of-buffer= | n/a | =G= |
diff --git a/.config/emacs/lisp/evil-collection/modes/so-long/evil-collection-so-long.el b/.config/emacs/lisp/evil-collection/modes/so-long/evil-collection-so-long.el
deleted file mode 100644
index 81500a7..0000000
--- a/.config/emacs/lisp/evil-collection/modes/so-long/evil-collection-so-long.el
+++ /dev/null
@@ -1,51 +0,0 @@
-;;; evil-collection-so-long.el --- Bindings for `so-long' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for so-long.
-
-;;; Code:
-(require 'evil-collection)
-(require 'so-long nil t)
-
-(defvar so-long-mode-map)
-(defconst evil-collection-so-long-maps '(so-long-mode-map))
-
-(defun evil-collection-so-long-setup ()
- "Set up `evil' bindings for so-long."
- (evil-collection-define-key '(normal visual) 'so-long-mode-map
- "j" #'evil-next-visual-line
- "k" #'evil-previous-visual-line
- "gj" #'evil-next-line
- "gk" #'evil-previous-line
- "0" #'evil-beginning-of-visual-line
- "g0" #'evil-beginning-of-visual-line
- "$" #'evil-end-of-visual-line
- "g$" #'evil-end-of-line
- "^" #'evil-first-non-blank-of-visual-line
- "g^" #'evil-first-non-blank
- "G" 'end-of-buffer))
-
-(provide 'evil-collection-so-long)
-;;; evil-collection-so-long.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/speedbar/README.org b/.config/emacs/lisp/evil-collection/modes/speedbar/README.org
deleted file mode 100644
index 81a39b4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/speedbar/README.org
+++ /dev/null
@@ -1,61 +0,0 @@
-* speedbar
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/speedbar/index.html][speedbar]], the everything browser sidebar.
-
-** Key bindings
-
-*** speedbar-mode-map
-
- | Command | Original | Evil |
- |------------------------------------------+------------+-------|
- | =speedbar-next= | =n= | =j= |
- | =speedbar-prev= | =p= | =k= |
- | =evil-goto-first-line= | n/a | =gg= |
- | =evil-goto-line= | n/a | =G= |
- | =speedbar-refresh= | =g= | =gr= |
- | =speedbar-edit-line= | =RET=, =e= | =RET= |
- | =speedbar-toggle-line-expansion= | =SPC= | =TAB= |
- | =speedbar-expand-line= | =+= | =zo= |
- | =speedbar-expand-line-descendants= | =[= | =zO= |
- | =speedbar-contract-line= | =-= | =zc= |
- | =speedbar-contract-line-descendants= | =]= | =zC= |
- | =speedbar-toggle-show-all-files= | n/a | =a= |
- | =speedbar-toggle-updates= | =t= | =t= |
- | =speedbar-toggle-images= | n/a | =i= |
- | =speedbar-toggle-sorting= | n/a | =o= |
- | =speedbar-restricted-next= | =M-n= | =M-j= |
- | =speedbar-restricted-prev= | =M-p= | =M-k= |
- | =speedbar-forward-list= | =M-C-n= | =]]= |
- | =speedbar-backward-list= | =M-C-p= | =[[= |
- | =switch-to-quick-buffers= | =b= | =b= |
- | =switch-to-files= | =f= | =f= |
- | =speedbar-change-initial-expansion-list= | n/a | =J= |
-
-*** speedbar-file-key-map
-
- | Command | Original | Evil |
- |-------------------------------+----------+----------|
- | =speedbar-item-byte-compile= | =B= | =B= |
- | =speedbar-item-copy= | =C= | =C= |
- | =speedbar-item-delete= | =D= | =D= |
- | =speedbar-item-info= | =I= | =I= |
- | =speedbar-item-object-delete= | =O= | =K= |
- | =speedbar-item-load= | =L= | =L= |
- | =speedbar-item-rename= | =R= | =R= |
- | =speedbar-create-directory= | =M= | =+= |
- | =speedbar-up-directory= | =U= | =^=, =-= |
-
-*** speedbar-buffers-key-map
-
- | Command | Original | Evil |
- |---------------------------------+----------+------|
- | =speedbar-buffer-kill-buffer= | =k= | =K= |
- | =speedbar-buffer-revert-buffer= | =r= | =gr= |
-
-** New commands
-
- | Command | Key |
- |--------------------------------------------------------------+--------------|
- | =evil-collection-speedbar-switch-to-previous-expansion-list= | =C-p=, =C-n= |
- | =evil-collection-speedbar-switch-to-quick-buffers= | =b= |
- | =evil-collection-speedbar-switch-to-files= | =f= |
diff --git a/.config/emacs/lisp/evil-collection/modes/speedbar/evil-collection-speedbar.el b/.config/emacs/lisp/evil-collection/modes/speedbar/evil-collection-speedbar.el
deleted file mode 100644
index 5abc28b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/speedbar/evil-collection-speedbar.el
+++ /dev/null
@@ -1,110 +0,0 @@
-;;; evil-collection-speedbar.el --- Evil bindings for speedbar -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, speedbar, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for speedbar.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'speedbar)
-
-(defconst evil-collection-speedbar-maps '(speedbar-mode-map
- speedbar-file-key-map
- speedbar-buffers-key-map))
-
-(defun evil-collection-speedbar-switch-to-previous-expansion-list ()
- "Back to previously used expansion list."
- (interactive)
- (speedbar-change-initial-expansion-list speedbar-previously-used-expansion-list-name))
-
-(defun evil-collection-speedbar-switch-to-quick-buffers ()
- "Switch to quick-buffers expansion list."
- (interactive)
- (speedbar-change-initial-expansion-list "quick buffers"))
-
-(defun evil-collection-speedbar-switch-to-files ()
- "Switch to files expansion list."
- (interactive)
- (speedbar-change-initial-expansion-list "files"))
-
-;;;###autoload
-(defun evil-collection-speedbar-setup ()
- "Set up `evil' bindings for `speedbar'."
- (evil-set-initial-state 'speedbar-mode 'normal)
- (evil-collection-define-key 'normal 'speedbar-mode-map
- "j" 'speedbar-next
- "k" 'speedbar-prev
- "gr" 'speedbar-refresh
- "gg" 'evil-goto-first-line
- "G" 'evil-goto-line
-
- ;; Basic tree features
- (kbd "RET") 'speedbar-edit-line
- (kbd "TAB") 'speedbar-toggle-line-expansion
-
- ;; Fold
- "zo" 'speedbar-expand-line
- "zO" 'speedbar-expand-line-descendants
- "zc" 'speedbar-contract-line
- "zC" 'speedbar-contract-line-descendants
-
- ;; Toggle
- "a" 'speedbar-toggle-show-all-files
- "t" 'speedbar-toggle-updates
- "i" 'speedbar-toggle-images
- "o" 'speedbar-toggle-sorting
-
- ;; Navigation
- (kbd "M-j") 'speedbar-restricted-next
- (kbd "M-k") 'speedbar-restricted-prev
- "]]" 'speedbar-forward-list
- "[[" 'speedbar-backward-list
- (kbd "C-p") 'evil-collection-speedbar-switch-to-previous-expansion-list
- (kbd "C-n") 'evil-collection-speedbar-switch-to-previous-expansion-list
- "b" 'evil-collection-speedbar-switch-to-quick-buffers
- "f" 'evil-collection-speedbar-switch-to-files
- "J" 'speedbar-change-initial-expansion-list)
-
- (evil-collection-define-key 'normal 'speedbar-file-key-map
- ;; File based commands
- "B" 'speedbar-item-byte-compile
- "C" 'speedbar-item-copy
- "D" 'speedbar-item-delete
- "I" 'speedbar-item-info
- "K" 'speedbar-item-object-delete
- "L" 'speedbar-item-load
- "R" 'speedbar-item-rename
- "+" 'speedbar-create-directory
- "^" 'speedbar-up-directory
- "-" 'speedbar-up-directory)
-
- (evil-collection-define-key 'normal 'speedbar-buffers-key-map
- ;; Buffer specific keybindings
- "K" 'speedbar-buffer-kill-buffer
- "gr" 'speedbar-buffer-revert-buffer))
-
-(provide 'evil-collection-speedbar)
-;;; evil-collection-speedbar.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/tab-bar/README.org b/.config/emacs/lisp/evil-collection/modes/tab-bar/README.org
deleted file mode 100644
index 70f8f43..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tab-bar/README.org
+++ /dev/null
@@ -1,15 +0,0 @@
-* tab-bar
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Bars.html][tab-bar]]. Only =tab-switcher-mode-map= (the =M-x tab-switcher= list) is touched; the global =tab-bar-mode= itself has no buffer-local map to rebind.
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------+-----------------+-----------------|
- | =tab-switcher-next-line= | =n=, =SPC= | =j=, =gj= |
- | =tab-switcher-prev-line= | =p= | =k=, =gk= |
- | =tab-switcher-delete= | =d=, =k=, =C-k= | =d= |
- | =tab-switcher-select= | =RET= | =RET= |
- | =tab-switcher-unmark= | =u= | =u= |
- | =tab-switcher-execute= | =x= | =x= |
- | =quit-window= | =q= | =q=, =ZZ=, =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/tab-bar/evil-collection-tab-bar.el b/.config/emacs/lisp/evil-collection/modes/tab-bar/evil-collection-tab-bar.el
deleted file mode 100644
index 9e2500c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tab-bar/evil-collection-tab-bar.el
+++ /dev/null
@@ -1,59 +0,0 @@
-;;; evil-collection-tab-bar.el --- Evil bindings for tab-bar -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, tab-bar, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for tab-bar.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'tab-bar nil t)
-
-(defconst evil-collection-tab-bar-maps '(tab-switcher-mode-map))
-
-(defun evil-collection-tab-bar-setup ()
- "Set up `evil' bindings to `tab-bar'."
- (evil-set-initial-state 'tab-switcher-mode 'normal)
- (evil-collection-define-key 'normal 'tab-switcher-mode-map
- ;; Movement
- "j" 'tab-switcher-next-line
- "k" 'tab-switcher-prev-line
- "gj" 'tab-switcher-next-line
- "gk" 'tab-switcher-prev-line
-
- ;; Mark
- "d" 'tab-switcher-delete
- (kbd "RET") 'tab-switcher-select
- "u" 'tab-switcher-unmark
- "x" 'tab-switcher-execute
-
- ;; Quit
- "q" 'quit-window
- "ZZ" 'quit-window
- "ZQ" 'quit-window))
-
-(provide 'evil-collection-tab-bar)
-
-;;; evil-collection-tab-bar.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/tablist/evil-collection-tablist.el b/.config/emacs/lisp/evil-collection/modes/tablist/evil-collection-tablist.el
deleted file mode 100644
index 0781c1c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tablist/evil-collection-tablist.el
+++ /dev/null
@@ -1,64 +0,0 @@
-;;; evil-collection-tablist.el --- Evil bindings for Tablist -*- lexical-binding: t -*-
-
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tablist, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Tablist.
-
-;;; Code:
-(require 'tablist nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-tablist-maps '(tablist-mode-map tablist-minor-mode-map))
-
-(defvar tablist-mode-regexp-map)
-(defvar tablist-mode-mark-map)
-(defvar tablist-mode-filter-map)
-
-;;;###autoload
-(defun evil-collection-tablist-setup ()
- "Set up `evil' bindings for `tablist'."
-
- (let ((common-bindings
- (list
- "U" 'tablist-unmark-all-marks
- "g%" tablist-mode-regexp-map
- "g*" tablist-mode-mark-map
- "g/" tablist-mode-filter-map
- "gr" 'tablist-revert
- "K" 'tablist-do-kill-lines
- "m" 'tablist-mark-forward
- "S" 'tablist-sort
- "t" 'tablist-toggle-marks
- "u" 'tablist-unmark-forward)))
-
- (apply #'evil-collection-define-key 'normal 'tablist-mode-map
- (kbd "RET") 'tablist-find-entry
- "d" 'tablist-flag-forward
- "f" 'tablist-find-entry
- "X" 'tablist-do-delete
- "x" 'tablist-do-flagged-delete
- common-bindings)
-
- (apply #'evil-collection-define-key 'normal 'tablist-minor-mode-map
- "q" 'tablist-quit
- common-bindings)))
-
-(provide 'evil-collection-tablist)
-;;; evil-collection-tablist.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/tabulated-list/README.org b/.config/emacs/lisp/evil-collection/modes/tabulated-list/README.org
deleted file mode 100644
index f405393..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tabulated-list/README.org
+++ /dev/null
@@ -1,20 +0,0 @@
-* tabulated-list
-
- Evil bindings for =tabulated-list-mode=, the parent mode behind package menu, process list, bookmark list, and many other list-based buffers.
-
-** Key bindings
-
- =n= and =p= are unbound so they fall through to evil motion. The default
- =g= (revert) and =S= (sort) are kept; column commands move under the =g=
- prefix.
-
- | Command | Original | Evil |
- |----------------------------------------+-------------+------|
- | =tabulated-list-sort= | =S= | =S= |
- | =tabulated-list-narrow-current-column= | ={= | ={= |
- | =tabulated-list-widen-current-column= | =}= | =}= |
- | =tabulated-list-next-column= | =M-<right>= | =gl= |
- | =tabulated-list-previous-column= | =M-<left>= | =gh= |
- | =quit-window= | =q= | =q= |
- | =next-line= (unbound) | =n= | n/a |
- | =previous-line= (unbound) | =p= | n/a |
diff --git a/.config/emacs/lisp/evil-collection/modes/tabulated-list/evil-collection-tabulated-list.el b/.config/emacs/lisp/evil-collection/modes/tabulated-list/evil-collection-tabulated-list.el
deleted file mode 100644
index 081adb5..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tabulated-list/evil-collection-tabulated-list.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; evil-collection-tabulated-list.el --- Bindings for `tabulated-list' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
-
-;; Author: Morgan Smith <Morgan.J.Smith@outlook.com>
-;; Maintainer: Morgan Smith <Morgan.J.Smith@outlook.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `tabulated-list'
-
-;;; Code:
-(require 'evil-collection)
-(require 'tabulated-list)
-
-(defvar tabulated-list-mode-map)
-
-(defconst evil-collection-tabulated-list-maps '(tabulated-list-mode-map))
-
-;;;###autoload
-(defun evil-collection-tabulated-list-setup ()
- "Set up `evil' bindings for `tabulated-list'."
-
- (evil-collection-define-key nil 'tabulated-list-mode-map
- "n" nil
- "p" nil)
-
- (evil-set-initial-state 'tabulated-list-mode 'normal)
- (evil-collection-define-key 'normal 'tabulated-list-mode-map
- "S" 'tabulated-list-sort
- "{" 'tabulated-list-narrow-current-column
- "}" 'tabulated-list-widen-current-column
- "gl" 'tabulated-list-next-column
- "gh" 'tabulated-list-previous-column
- "q" 'quit-window))
-
-(provide 'evil-collection-tabulated-list)
-;;; evil-collection-tabulated-list.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/tar-mode/README.org b/.config/emacs/lisp/evil-collection/modes/tar-mode/README.org
deleted file mode 100644
index fbb0da6..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tar-mode/README.org
+++ /dev/null
@@ -1,27 +0,0 @@
-* tar-mode
-
- Evil bindings for =tar-mode=, the built-in tar archive browser.
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------------+-----------------------------+--------------------|
- | =tar-next-line= | =n=, =SPC=, =C-n=, =<down>= | =j=, =gj=, =C-j= |
- | =tar-previous-line= | =p=, =C-p=, =<up>= | =k=, =gk=, =C-k= |
- | =beginning-of-buffer= | n/a | =gg= |
- | =end-of-buffer= | n/a | =G= |
- | =tar-extract= | =RET=, =e=, =f= | =RET= |
- | =tar-extract-other-window= | =o=, =E= | =go=, =S-<return>= |
- | =tar-view= | =v= | =gO=, =M-<return>= |
- | =tar-flag-deleted= | =d=, =C-d= | =d= |
- | =tar-rename-entry= | =R= | =r= |
- | =tar-expunge= | =x= | =x= |
- | =tar-chmod-entry= | =M= | =M= |
- | =tar-chgrp-entry= | =G= | =P= |
- | =tar-chown-entry= | =O= | =O= |
- | =revert-buffer= | =g= | =gr= |
- | =tar-new-entry= | =I= | =I= |
- | =tar-copy= | =C= | =C= |
- | =tar-unflag= | =u= | =u= |
- | =tar-clear-modification-flags= | n/a | =U= |
- | =quit-window= | n/a | =q= |
diff --git a/.config/emacs/lisp/evil-collection/modes/tar-mode/evil-collection-tar-mode.el b/.config/emacs/lisp/evil-collection/modes/tar-mode/evil-collection-tar-mode.el
deleted file mode 100644
index 5df995d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tar-mode/evil-collection-tar-mode.el
+++ /dev/null
@@ -1,81 +0,0 @@
-;;; evil-collection-tar-mode.el --- Evil bindings for tar-mode -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 Michael Arndt
-
-;; Author: 0x28
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tar-mode, archive, bindings, files
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Evil bindings for `tar-mode'.
-
-;;; Code:
-(require 'tar-mode)
-(require 'evil-collection)
-
-(defconst evil-collection-tar-mode-maps '(tar-mode-map))
-
-;;;###autoload
-(defun evil-collection-tar-mode-setup ()
- "Set up `evil' bindings for `tar-mode'."
- (evil-set-initial-state 'tar-mode 'normal)
- (evil-collection-define-key 'normal 'tar-mode-map
- "j" 'tar-next-line
- "k" 'tar-previous-line
- (kbd "C-j") 'tar-next-line
- (kbd "C-k") 'tar-previous-line
- "gj" 'tar-next-line
- "gk" 'tar-previous-line
-
- "gg" 'beginning-of-buffer
- "G" 'end-of-buffer
-
- ;; open
- (kbd "RET") 'tar-extract
- (kbd "S-<return>") 'tar-extract-other-window
- (kbd "M-<return>") 'tar-view
- "go" 'tar-extract-other-window
- "gO" 'tar-view
-
- "d" 'tar-flag-deleted
- "r" 'tar-rename-entry
- "x" 'tar-expunge
- "M" 'tar-chmod-entry
- "P" 'tar-chgrp-entry
- "O" 'tar-chown-entry
-
- ;; refresh
- "gr" 'revert-buffer
-
- ;; create
- "I" 'tar-new-entry
-
- ;; write
- "C" 'tar-copy
-
- ;; mark
- "u" 'tar-unflag
- "U" 'tar-clear-modification-flags
-
- ;; quit
- "q" 'quit-window))
-
-(provide 'evil-collection-tar-mode)
-;;; evil-collection-tar-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/telega/evil-collection-telega.el b/.config/emacs/lisp/evil-collection/modes/telega/evil-collection-telega.el
deleted file mode 100644
index 2fcbd00..0000000
--- a/.config/emacs/lisp/evil-collection/modes/telega/evil-collection-telega.el
+++ /dev/null
@@ -1,218 +0,0 @@
-;;; evil-collection-telega.el --- Evil bindings for telega -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Ruoyu Feng
-
-;; Author: Ruoyu Feng <mail@vonfry.name>
-;; Maintainer: James Nguyen <james@jojojames.com>, Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.6
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, telegram, telega
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for telega.
-
-;;; Code:
-(require 'telega nil t)
-(require 'evil-collection)
-
-(defvar telega-prefix-map)
-(defvar telega-filter-map)
-(defvar telega-sort-map)
-(defvar telega-chatbuf-fastnav-map)
-(defvar telega-describe-map)
-(defvar telega-folder-map)
-(defvar telega-voip-map)
-(defvar telega-root-view-map)
-(defvar telega-root-fastnav-map)
-
-(defconst evil-collection-telega-maps '(telega-root-mode-map
- telega-chat-mode-map
- telega-image-mode-map
- telega-webpage-mode-map
- telega-user-button-map
- telega-msg-button-map
- telega-chat-button-map
- telega-sticker-button-map))
-
-(defconst evil-collection-telega-modes '(telega-root-mode
- telega-chat-mode
- telega-image-mode
- telega-webpage-mode))
-
-;;;###autoload
-(defun evil-collection-telega-setup ()
- "Set up `evil' bindings for `telega'."
- (evil-collection-set-readonly-bindings 'telega-root-mode-map)
-
- (dolist (mode evil-collection-telega-modes)
- (evil-set-initial-state mode 'normal))
-
- (evil-collection-define-key 'normal 'telega-root-mode-map
- "j" 'evil-next-line
- "k" 'evil-previous-line
-
- "ga" telega-prefix-map
-
- (kbd "<tab>") 'telega-button-forward
- (kbd "<backtab>") 'telega-button-backward
-
- "S" telega-sort-map
- "s" telega-filter-map
- "_" 'telega-filter-undo
- "-" 'telega-filter-redo
-
- "c" 'telega-chat-join-by-link
- "C" 'telega-chat-create
- "D" 'telega-chats-filtered-kill-chatbuf
- "R" 'telega-chats-filtered-toggle-read
-
- "q" 'bury-buffer
- "Q" 'telega-kill
-
- "g?" telega-describe-map
- "gO" telega-folder-map
- "gC" telega-voip-map
- "gV" telega-root-view-map
- "J" telega-root-fastnav-map
-
- "gs" 'telega-view-search)
-
- (evil-collection-define-key 'normal 'telega-chat-mode-map
- "ga" telega-prefix-map
- "gA" telega-chatbuf-fastnav-map
-
- "zz" 'telega-chatbuf-recenter-1
-
- "^" 'telega-chatbuf-beginning-of-thing
-
- "g?" 'telega-describe-chat
-
- "Za" 'telega-chatbuf-attach
- "Zf" 'telega-chatbuf-attach-media
- "Zv" 'telega-chatbuf-attach-clipboard
-
- "s" 'telega-chatbuf-filter
- "_" 'telega-chatbuf-filter-cancel
- "S" 'telega-chatbuf-filter-search
-
- (kbd "<tab>") 'telega-chatbuf-complete-or-next-link
- (kbd "<backtab>") 'telega-chatbuf-prev-link
-
- "q" 'quit-window)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'telega-chat-mode-map
- (kbd "RET") 'telega-chatbuf-newline-or-input-send)
- (evil-collection-define-key newline-state 'telega-chat-mode-map
- (kbd "RET") 'newline))
-
- (evil-collection-define-key 'normal 'telega-image-mode-map
- "ga" telega-prefix-map
-
- "}" 'telega-image-next
- "{" 'telega-image-prev
- "q" 'telega-image-quit)
-
- (evil-collection-define-key 'normal 'telega-webpage-mode-map
- "ga" telega-prefix-map
-
- "gx" 'telega-webpage-browse-url
- "yy" 'telega-webpage-copy-url
- "(" 'telega-webpage-history-prev
- ")" 'telega-webpage-history-next
- (kbd "<tab>") 'telega-button-forward
- (kbd "<backtab>") 'telega-button-backward)
-
- (evil-collection-set-readonly-bindings 'telega-user-button-map)
- ; We have to set keybinds for emacs instead of normal state because normal
- ; states takes no effects on buttons and remove the default bindings.
- ; ref: emacs-evil/evil#1477
- (evil-collection-define-key nil 'telega-user-button-map
- "B" nil
- "K" nil
- (kbd "DEL") nil
-
- "g?" 'telega-describe-user
- "m" 'telega-user-chat-with
- "D" 'telega-user-block)
-
- (evil-collection-set-readonly-bindings 'telega-msg-button-map)
- (evil-collection-define-key nil 'telega-msg-button-map
- "c" nil
- "d" nil
- "e" nil
- "f" nil
- "k" nil
- "l" nil
- "m" nil
- "n" nil
- "p" nil
- "^" nil
- (kbd "DEL") nil
- "*" nil
-
- "D" 'telega-msg-delete-dwim
- "dd" 'telega-msg-delete-dwim
- "i" 'telega-msg-edit
- "g?" 'telega-describe-message
- "a" 'telega-msg-mark-toggle
- (kbd "<tab>") 'telega-button-forward
- (kbd "<backtab>") 'telega-button-backward
- "R" 'telega-msg-forward-dwim
- "r" 'telega-msg-reply
- "gr" 'telega-msg-open-thread-or-topic
-
- "Zy" 'telega-msg-copy-text
- "Zl" 'telega-msg-copy-link
- "ds" 'telega-msg-ban-sender
- "ZL" 'telega-msg-redisplay
- "P" 'telega-msg-pin-toggle
- "ZR" 'telega-msg-resend
- "S" 'telega-msg-save
- "u" 'telega-msg-unmark
- "U" 'telega-chatbuf-msg-marks-toggle
- "=" 'telega-msg-diff-edits
- "s" 'telega-msg-favorite-toggle)
-
- (evil-collection-set-readonly-bindings 'telega-chat-button-map)
- (evil-collection-define-key nil 'telega-chat-button-map
- "i" nil
- "d" nil
- "^" nil
- (kbd "DEL") nil
-
- "g?" 'telega-describe-chat
- "a" 'telega-chat-add-member
- "o" 'telega-chat-set-custom-order
- "r" 'telega-chat-toggle-read
- "P" 'telega-chat-toggle-pin
- "C" 'telega-chat-call
- "D" 'telega-chat-delete)
-
- (evil-collection-set-readonly-bindings 'telega-sticker-button-map)
- (evil-collection-define-key nil 'telega-sticker-button-map
- "f" nil
- "*" nil
- "i" nil
- "h" nil
-
- "t" 'telega-sticker-toggle-favorite
- "g?" 'telega-sticker-help))
-
-(provide 'evil-collection-telega)
-;;; evil-collection-telega.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/term/README.org b/.config/emacs/lisp/evil-collection/modes/term/README.org
deleted file mode 100644
index aa7fcc2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/term/README.org
+++ /dev/null
@@ -1,55 +0,0 @@
-* term
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Terminal-emulator.html][term]] and =ansi-term=, also usable with =multi-term=.
-
- Insert state corresponds to =term-char-mode=, normal state to =term-line-mode=.
- When =evil-collection-term-sync-state-and-mode-p= is non-nil the mode and
- state switch in lockstep.
-
-** Key bindings
-
-*** term-raw-map (insert state)
-
- Restores raw passthrough for control characters evil otherwise intercepts.
-
- | Command | Original | Evil |
- |---------------------------------+-----------+-------------------------------------------------------------------------------------------------------------------------------------|
- | =term-send-raw= | (default) | =C-a=, =C-b=, =C-d=, =C-e=, =C-f=, =C-k=, =C-l=, =C-n=, =C-o=, =C-p=, =C-q=, =C-r=, =C-s=, =C-t=, =C-u=, =C-v=, =C-w=, =C-y=, =C-z= |
- | =evil-collection-term-send-tab= | n/a | =<tab>= |
- | =term-send-eof= | =C-c C-d= | =C-c C-d= |
- | =term-stop-subjob= | =C-c C-z= | =C-c C-z= |
-
-*** term-mode-map (normal state)
-
- | Command | Original | Evil |
- |-----------------------------------------+-----------+------------------------------------------------|
- | =evil-collection-term-char-mode-insert= | n/a | =C-c C-k= |
- | =term-paste= | =C-c C-y= | =p= |
- | =term-previous-prompt= | =C-c C-p= | =[[=, =C-k=, =gk= |
- | =term-next-prompt= | =C-c C-n= | =]]=, =C-j=, =gj= |
- | =term-bol= | =C-a= | =^= |
- | =term-show-maximum-output= | =M-> = | =$= |
- | =term-send-input= | =RET= | =RET= (in =evil-collection-repl-submit-state=) |
-
-** New commands
-
- | Command | Description |
- |------------------------------------------------------+-----------------------------------------------------------|
- | =evil-collection-term-char-mode-insert= | switch to =term-char-mode= and insert state |
- | =evil-collection-term-send-tab= | send a literal TAB through =term-send-raw-string= |
- | =evil-collection-term-escape-stay= | hook that disables backwards cursor on normal-state entry |
- | =evil-collection-term-sync-state-and-mode= | hook that ties insert/normal to char/line mode |
- | =evil-collection-term-switch-to-char-mode-on-insert= | default sync function |
- | =evil-collection-term-char-mode-entry-function= | alternative sync function that only flips at the prompt |
-
-** Customization
-
- | Variable | Default |
- |----------------------------------------------+------------------------------------------------------|
- | =evil-collection-term-sync-state-and-mode-p= | =t= |
- | =evil-collection-term-sync-state-function= | =evil-collection-term-switch-to-char-mode-on-insert= |
-
-** Integrations
-
- - =multi-term=: =M-DEL= sends =term-send-backward-kill-word= in both
- normal state on =term-mode-map= and insert state on =term-raw-map=.
diff --git a/.config/emacs/lisp/evil-collection/modes/term/evil-collection-term.el b/.config/emacs/lisp/evil-collection/modes/term/evil-collection-term.el
deleted file mode 100644
index bc566fb..0000000
--- a/.config/emacs/lisp/evil-collection/modes/term/evil-collection-term.el
+++ /dev/null
@@ -1,170 +0,0 @@
-;;; evil-collection-term.el --- Evil bindings for term and ansi-term -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, term, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil integration for `term' and `ansi-term'.
-;; This should also work for other terminal emulators such as `multi-term'.
-;;
-;; Switching to normal state will automatically switch to line mode.
-;; Conversely, switching to insert state will automatically switch to char mode.
-
-;;; Code:
-(require 'evil-collection)
-(require 'term)
-
-(defcustom evil-collection-term-sync-state-and-mode-p t
- "Synchronize insert/normal state with char/line-mode respectively.
-
-When non-nil, going to normal state will automatically switch to
-line-mode. Conversely, going to insert state on the last
-commandline will automatically switch to char-mode.
-
-Warning: This feature is experimental."
- :group 'evil-collection-term
- :type 'boolean)
-
-(defcustom evil-collection-term-sync-state-function
- 'evil-collection-term-switch-to-char-mode-on-insert
- "Function used when synchronizing insert/normal state with char/line-mode.
-
-This is only used if `evil-collection-term-sync-state-and-mode-p' is true."
- :group 'evil-collection-term
- :type 'function)
-
-;; TODO: Rebinding ESC has the drawback that programs like vi cannot use it anymore.
-;; Workaround: switch to Emacs state and double-press ESC.
-;; Otherwise leave ESC to "C-c C-j".
-;; Or bind char-mode ESC to "C-c C-x"?
-
-;; TODO: Add support for normal-state editing.
-
-(defconst evil-collection-term-maps '(term-raw-map
- term-mode-map))
-
-(defun evil-collection-term-escape-stay ()
- "Go back to normal state but don't move cursor backwards.
-Moving cursor backwards is the default Vim behavior but
-it is not appropriate in some cases like terminals."
- (setq-local evil-move-cursor-back nil))
-
-(defun evil-collection-term-char-mode-insert ()
- "Switch to `term-char-mode' and enter insert state."
- (interactive)
- (term-char-mode)
- (evil-insert-state))
-
-(defun evil-collection-term-char-mode-entry-function ()
- "Maybe switch to `term-char-mode' on insert state."
- (when (get-buffer-process (current-buffer))
- (let (last-prompt)
- (save-excursion
- (goto-char (point-max))
- (when (= (line-beginning-position) (line-end-position))
- (ignore-errors (backward-char)))
- (setq last-prompt (max (term-bol nil) (line-beginning-position))))
- (when (>= (point) last-prompt)
- (term-char-mode)))))
-
-(defun evil-collection-term-switch-to-char-mode-on-insert ()
- "Switch to `term-char-mode' on insert state."
- (when (get-buffer-process (current-buffer))
- (term-char-mode)))
-
-(defun evil-collection-term-sync-state-and-mode ()
- "Sync `term-char-mode' and `term-line-mode' with insert and normal state."
- (add-hook 'evil-insert-state-entry-hook
- evil-collection-term-sync-state-function nil t)
- (add-hook 'evil-insert-state-exit-hook 'term-line-mode nil t))
-
-(defun evil-collection-term-send-tab ()
- "Send tab in term mode."
- (interactive)
- (term-send-raw-string "\t"))
-
-;;;###autoload
-(defun evil-collection-term-setup ()
- "Set up `evil' bindings for `term'."
- (evil-set-initial-state 'term-mode 'insert)
- (if evil-collection-term-sync-state-and-mode-p
- (add-hook 'term-mode-hook 'evil-collection-term-sync-state-and-mode)
- (remove-hook 'term-mode-hook 'evil-collection-term-sync-state-and-mode))
-
- (add-hook 'term-mode-hook 'evil-collection-term-escape-stay)
-
- ;; Evil has some "C-" bindings in insert state that shadow regular terminal
- ;; bindings. Don't raw-send "C-c" (prefix key) nor "C-h" (help prefix).
- (evil-collection-define-key 'insert 'term-raw-map
- (kbd "C-a") 'term-send-raw
- (kbd "C-b") 'term-send-raw ; Should not be necessary.
- (kbd "C-d") 'term-send-raw
- (kbd "C-e") 'term-send-raw
- (kbd "C-f") 'term-send-raw ; Should not be necessary.
- (kbd "C-k") 'term-send-raw
- (kbd "C-l") 'term-send-raw ; Should not be necessary.
- (kbd "C-n") 'term-send-raw
- (kbd "C-o") 'term-send-raw
- (kbd "C-p") 'term-send-raw
- (kbd "C-q") 'term-send-raw ; Should not be necessary.
- (kbd "C-r") 'term-send-raw
- (kbd "C-s") 'term-send-raw ; Should not be necessary.
- (kbd "C-t") 'term-send-raw
- (kbd "C-u") 'term-send-raw ; Should not be necessary.
- (kbd "C-v") 'term-send-raw ; Should not be necessary.
- (kbd "C-w") 'term-send-raw
- (kbd "C-y") 'term-send-raw
- (kbd "C-z") 'term-send-raw
- (kbd "<tab>") 'evil-collection-term-send-tab ; Should not be necessary.
- (kbd "C-c C-d") 'term-send-eof
- (kbd "C-c C-z") 'term-stop-subjob)
-
- (let* ((submit evil-collection-repl-submit-state))
- (evil-collection-define-key submit 'term-mode-map
- (kbd "RET") 'term-send-input))
-
- (evil-collection-define-key 'normal 'term-mode-map
- (kbd "C-c C-k") 'evil-collection-term-char-mode-insert
-
- (kbd "p") 'term-paste
-
- ;; motion
- "[[" 'term-previous-prompt
- "]]" 'term-next-prompt
- (kbd "C-k") 'term-previous-prompt
- (kbd "C-j") 'term-next-prompt
- "gk" 'term-previous-prompt
- "gj" 'term-next-prompt
- ;; "0" 'term-bol ; "0" is meant to really go at the beginning of line.
- "^" 'term-bol
- "$" 'term-show-maximum-output)
-
- ;; https://github.com/emacs-evil/evil-collection/issues/235
- (with-eval-after-load 'multi-term
- (evil-collection-define-key 'normal 'term-mode-map
- (kbd "M-DEL") 'term-send-backward-kill-word)
- (evil-collection-define-key 'insert 'term-raw-map
- (kbd "M-DEL") 'term-send-backward-kill-word)))
-
-(provide 'evil-collection-term)
-;;; evil-collection-term.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/tetris/README.org b/.config/emacs/lisp/evil-collection/modes/tetris/README.org
deleted file mode 100644
index 5adab75..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tetris/README.org
+++ /dev/null
@@ -1,18 +0,0 @@
-* tetris
-
- Evil bindings for =tetris=, the built-in implementation of the falling-blocks game.
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------+-----------+-----------------|
- | =tetris-move-left= | =<left>= | =h= |
- | =tetris-move-right= | =<right>= | =l= |
- | =tetris-rotate-next= | n/a | =k= |
- | =tetris-rotate-prev= | =<up>= | =K= |
- | =tetris-move-down= | =<down>= | =j= |
- | =tetris-move-bottom= | =SPC= | =J=, =G=, =TAB= |
- | =tetris-start-game= | =n= | =gr= |
- | =tetris-pause-game= | =p= | =p= |
- | =tetris-end-game= | =q= | =ZZ= |
- | =quit-window= | n/a | =q=, =ZQ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/tetris/evil-collection-tetris.el b/.config/emacs/lisp/evil-collection/modes/tetris/evil-collection-tetris.el
deleted file mode 100644
index 682b275..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tetris/evil-collection-tetris.el
+++ /dev/null
@@ -1,55 +0,0 @@
-;;; evil-collection-tetris.el --- Bindings for `tetris' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: MaxSt
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `tetris'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'tetris nil t)
-
-(defconst evil-collection-tetris-maps '(tetris-mode-map))
-
-;;;###autoload
-(defun evil-collection-tetris-setup ()
- "Set up `evil' bindings for `tetris'."
- (evil-set-initial-state 'tetris-mode 'normal)
- (evil-collection-define-key 'normal 'tetris-mode-map
- "h" 'tetris-move-left
- "l" 'tetris-move-right
- "k" 'tetris-rotate-next
- "K" 'tetris-rotate-prev
- "j" 'tetris-move-down
- "J" 'tetris-move-bottom
- "G" 'tetris-move-bottom
- "gr" 'tetris-start-game
- (kbd "TAB") 'tetris-move-bottom
- "p" 'tetris-pause-game
- "q" 'quit-window
- "ZQ" 'quit-window
- "ZZ" 'tetris-end-game))
-
-(provide 'evil-collection-tetris)
-;;; evil-collection-tetris.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/thread/README.org b/.config/emacs/lisp/evil-collection/modes/thread/README.org
deleted file mode 100644
index 1b51bed..0000000
--- a/.config/emacs/lisp/evil-collection/modes/thread/README.org
+++ /dev/null
@@ -1,14 +0,0 @@
-* thread
-
- Evil bindings for =thread-list-mode=, the built-in =M-x list-threads= buffer.
-
-** Key bindings
-
- Inherits the standard =tabulated-list-mode= bindings (=S=, ={=, =}=, =gh=,
- =gl=, =q=). evil-collection only rebinds the thread-specific actions.
-
- | Command | Original | Evil |
- |---------------------------------+----------+------|
- | =thread-list-pop-to-backtrace= | =b= | =B= |
- | =thread-list-send-quit-signal= | =s q= | =Q= |
- | =thread-list-send-error-signal= | =s e= | =E= |
diff --git a/.config/emacs/lisp/evil-collection/modes/thread/evil-collection-thread.el b/.config/emacs/lisp/evil-collection/modes/thread/evil-collection-thread.el
deleted file mode 100644
index 848b035..0000000
--- a/.config/emacs/lisp/evil-collection/modes/thread/evil-collection-thread.el
+++ /dev/null
@@ -1,45 +0,0 @@
-;;; evil-collection-thread.el --- Evil bindings for `thread' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `thread'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'thread nil t)
-
-(defconst evil-collection-thread-maps '(thread-list-mode-map))
-
-;;;###autoload
-(defun evil-collection-thread-setup ()
- "Set up `evil' bindings for `thread'."
- (evil-set-initial-state 'thread-list-mode 'normal)
- (evil-collection-define-key 'normal 'thread-list-mode-map
- "B" 'thread-list-pop-to-backtrace
- "Q" 'thread-list-send-quit-signal
- "E" 'thread-list-send-error-signal))
-
-(provide 'evil-collection-thread)
-;;; evil-collection-thread.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/tide/evil-collection-tide.el b/.config/emacs/lisp/evil-collection/modes/tide/evil-collection-tide.el
deleted file mode 100644
index abce9c4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tide/evil-collection-tide.el
+++ /dev/null
@@ -1,64 +0,0 @@
-;;; evil-collection-tide.el --- Bindings for `tide-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tide, typescript, languages
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `tide-mode'.
-
-;;; Code:
-(require 'tide nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-tide-maps '(tide-mode-map
- tide-references-mode-map
- tide-project-errors-mode-map))
-
-;;;###autoload
-(defun evil-collection-tide-setup ()
- "Set up `evil' bindings for `tide'."
- (evil-collection-define-key 'normal 'tide-mode-map
- "gd" 'tide-jump-to-definition
- (kbd "C-t") 'tide-jump-back
- "K" 'tide-documentation-at-point)
-
- (evil-collection-define-key 'normal 'tide-references-mode-map
- "gj" 'tide-find-next-reference
- "gk" 'tide-find-previous-reference
- (kbd "C-j") 'tide-find-next-reference
- (kbd "C-k") 'tide-find-previous-reference
- (kbd "RET") 'tide-goto-line-reference
- ;; quit
- "q" 'quit-window)
-
- (evil-collection-define-key 'normal 'tide-project-errors-mode-map
- "gj" 'tide-find-next-error
- "gk" 'tide-find-previous-error
- (kbd "C-j") 'tide-find-next-error
- (kbd "C-k") 'tide-find-previous-error
- (kbd "RET") 'tide-goto-error
- ;; quit
- (kbd "q") 'quit-window))
-
-(provide 'evil-collection-tide)
-;;; evil-collection-tide.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/timer-list/README.org b/.config/emacs/lisp/evil-collection/modes/timer-list/README.org
deleted file mode 100644
index 65f5174..0000000
--- a/.config/emacs/lisp/evil-collection/modes/timer-list/README.org
+++ /dev/null
@@ -1,12 +0,0 @@
-* timer-list
-
- Evil bindings for =timer-list-mode=, the built-in =M-x list-timers= buffer.
-
-** Key bindings
-
- Inherits the standard =tabulated-list-mode= bindings (=S=, ={=, =}=, =gh=,
- =gl=, =q=).
-
- | Command | Original | Evil |
- |---------------------+----------+------|
- | =timer-list-cancel= | =c= | =C= |
diff --git a/.config/emacs/lisp/evil-collection/modes/timer-list/evil-collection-timer-list.el b/.config/emacs/lisp/evil-collection/modes/timer-list/evil-collection-timer-list.el
deleted file mode 100644
index aff8127..0000000
--- a/.config/emacs/lisp/evil-collection/modes/timer-list/evil-collection-timer-list.el
+++ /dev/null
@@ -1,43 +0,0 @@
-;;; evil-collection-timer-list.el --- Evil bindings for `timer-list' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `timer-list'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'timer-list)
-
-(defconst evil-collection-timer-list-maps '(timer-list-mode-map))
-
-;;;###autoload
-(defun evil-collection-timer-list-setup ()
- "Set up `evil' bindings for `timer-list'."
- (evil-set-initial-state 'timer-list-mode 'normal)
- (evil-collection-define-key 'normal 'timer-list-mode-map
- "C" 'timer-list-cancel))
-
-(provide 'evil-collection-timer-list)
-;;; evil-collection-timer-list.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/transmission/evil-collection-transmission.el b/.config/emacs/lisp/evil-collection/modes/transmission/evil-collection-transmission.el
deleted file mode 100644
index 547bc10..0000000
--- a/.config/emacs/lisp/evil-collection/modes/transmission/evil-collection-transmission.el
+++ /dev/null
@@ -1,163 +0,0 @@
-;;; evil-collection-transmission.el --- Evil bindings for transmission.el -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, transmission, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-
-;;; Commentary:
-;; Evil bindings for `transmission'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'transmission nil t)
-
-(defvar transmission-mode-map)
-(defvar transmission-files-mode-map)
-(defvar transmission-info-mode-map)
-(defvar transmission-peers-mode-map)
-
-(defconst evil-collection-transmission-maps '(transmission-mode-map
- transmission-files-mode-map
- transmission-info-mode-map
- transmission-peers-mode-map))
-
-;;;###autoload
-(defun evil-collection-transmission-setup ()
- "Set up `evil' bindings for `transmission'."
-
- (evil-collection-inhibit-insert-state 'transmission-mode-map)
- (evil-set-initial-state 'transmission-mode 'normal)
- (evil-collection-define-key 'normal 'transmission-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<delete>") 'scroll-down-command
-
- ;; sort
- "o" 'tabulated-list-sort
-
- (kbd "RET") 'transmission-files
- "p" 'transmission-peers
- "i" 'transmission-info
-
- "a" 'transmission-add
- "D" 'transmission-delete
- "r" 'transmission-move ; "r" for "[r]ename"
- "R" 'transmission-remove
- "x" 'transmission-toggle ; EMMS has "x" for pause.
- "t" 'transmission-trackers-add
- "c" 'transmission-verify ; "c" for "[c]heck".
- "d" 'transmission-set-download
- "u" 'transmission-set-upload
- "S" 'transmission-set-ratio ; "S" for "[S]eed"
- "P" 'transmission-set-bandwidth-priority
- "I" 'transmission-label ; "I" for "[I]nput labels"
-
- ;; mark
- "m" 'transmission-toggle-mark
- "U" 'transmission-unmark-all
- "~" 'transmission-invert-marks
-
- ;; refresh
- "gr" 'revert-buffer
-
- ;; quit
- "q" 'transmission-quit
- "ZQ" 'evil-quit
- "ZZ" 'transmission-quit)
-
- (evil-collection-inhibit-insert-state 'transmission-files-mode-map)
- (evil-set-initial-state 'transmission-files-mode 'normal)
- (evil-collection-define-key 'normal 'transmission-files-mode-map
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<delete>") 'scroll-down-command
-
- ;; sort
- "o" 'tabulated-list-sort
-
- "p" 'transmission-peers
- "i" 'transmission-info
-
- "r" 'transmission-move
- "P" 'transmission-files-priority
-
- ;; mark
- "u" 'transmission-files-unwant
- "m" 'transmission-files-want
-
- ;; open
- (kbd "RET") 'transmission-find-file
- (kbd "S-<return>") 'transmission-find-file-other-window
- (kbd "M-<return>") 'transmission-display-file
- "go" 'transmission-find-file-other-window
-
- "v" 'transmission-view-file
-
- "!" 'transmission-files-command
- ;; "X" 'transmission-files-command
- "t" 'transmission-trackers-add
- "T" 'transmission-trackers-remove
-
- ;; goto URL
- "gx" 'transmission-browse-url-of-file ; See mu4e.
-
- ;; quit
- "q" 'transmission-quit
- "ZQ" 'evil-quit
- "ZZ" 'transmission-quit)
-
- (evil-collection-define-key 'visual 'transmission-files-mode-map
- "r" 'transmission-move
- "P" 'transmission-files-priority
- "u" 'transmission-files-unwant
- "m" 'transmission-files-want)
-
- (evil-collection-set-readonly-bindings 'transmission-info-mode-map)
- (evil-set-initial-state 'transmission-info-mode 'normal)
- (evil-collection-define-key 'normal 'transmission-info-mode-map
- "p" 'transmission-peers
-
- "t" 'transmission-trackers-add
- "T" 'transmission-trackers-remove
- "D" 'transmission-set-torrent-download
- "U" 'transmission-set-torrent-upload
- "S" 'transmission-set-torrent-ratio ; "S" for "[S]eed"
- "I" 'transmission-label ; "I" for "[I]nput labels"
- "P" 'transmission-set-bandwidth-priority
- "r" 'transmission-move)
-
- ;; yu, Like `eww'.
- (evil-collection-define-operator-key 'yank 'transmission-info-mode-map
- "u" 'transmission-copy-magnet)
-
- (evil-collection-set-readonly-bindings 'transmission-peers-mode-map)
- (evil-set-initial-state 'transmission-peers-mode 'normal)
- (evil-collection-define-key 'normal 'transmission-peers-mode-map
- ;; sort
- "o" 'tabulated-list-sort
-
- "i" 'transmission-info))
-
-(provide 'evil-collection-transmission)
-;;; evil-collection-transmission.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/trashed/evil-collection-trashed.el b/.config/emacs/lisp/evil-collection/modes/trashed/evil-collection-trashed.el
deleted file mode 100644
index 89c014c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/trashed/evil-collection-trashed.el
+++ /dev/null
@@ -1,87 +0,0 @@
-;;; evil-collection-trashed.el --- Evil bindings for trashed.el -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.3
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, files, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `trashed'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'trashed nil t)
-
-(defconst evil-collection-trashed-maps '(trashed-mode-map))
-
-;;;###autoload
-(defun evil-collection-trashed-setup ()
- "Set up `evil' bindings for `trashed'."
- (evil-collection-set-readonly-bindings 'trashed-mode-map)
- (evil-collection-define-key 'normal 'trashed-mode-map
- ;; motion
- (kbd "SPC") 'scroll-up-command
- (kbd "S-SPC") 'scroll-down-command
- (kbd "<tab>") 'trashed-forward-column
- (kbd "<backtab>") 'trashed-backward-column
-
- (kbd "RET") 'trashed-find-file
- (kbd "S-RET") 'trashed-find-file-other-window
- (kbd "go") 'trashed-find-file-other-window
- (kbd "gO") 'trashed-display-file
- (kbd "gw") 'trashed-browse-url-of-file
- (kbd "M-RET") 'trashed-display-file
-
- "S" 'tabulated-list-sort
-
- "m" 'trashed-mark
- "M" 'trashed-mark-all
- "u" 'trashed-unmark
- "U" 'trashed-unmark-all
- "~" 'trashed-toggle-marks
-
- "$ m" 'trashed-mark-files-by-date
- "$ u" 'trashed-unmark-files-by-date
- "$ d" 'trashed-flag-delete-files-by-date
- "$ r" 'trashed-flag-restore-files-by-date
-
- "% m" 'trashed-mark-files-regexp
- "% u" 'trashed-unmark-files-regexp
- "% d" 'trashed-flag-delete-files-regexp
- "% r" 'trashed-flag-restore-files-regexp
-
- "d" 'trashed-flag-delete
- "r" 'trashed-flag-restore
-
- "zb" 'trashed-flag-backup-files
- "za" 'trashed-flag-auto-save-files
-
- "x" 'trashed-do-execute
- "D" 'trashed-do-delete
- "R" 'trashed-do-restore
-
- "v" 'trashed-view-file
-
- "g?" 'describe-mode
- "gr" 'revert-buffer))
-
-(provide 'evil-collection-trashed)
-;;; evil-collection-trashed.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/tuareg/README.org b/.config/emacs/lisp/evil-collection/modes/tuareg/README.org
deleted file mode 100644
index 589da60..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tuareg/README.org
+++ /dev/null
@@ -1,9 +0,0 @@
-* tuareg
-
- Evil bindings for [[https://github.com/ocaml/tuareg][tuareg-mode]] (OCaml).
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------+-----------+------|
- | =tuareg-run-ocaml= | =C-c C-s= | =gz= |
diff --git a/.config/emacs/lisp/evil-collection/modes/tuareg/evil-collection-tuareg.el b/.config/emacs/lisp/evil-collection/modes/tuareg/evil-collection-tuareg.el
deleted file mode 100644
index b283fb1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/tuareg/evil-collection-tuareg.el
+++ /dev/null
@@ -1,44 +0,0 @@
-;;; evil-collection-tuareg.el --- Evil bindings for `tuareg-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Zhiwei Chen
-
-;; Author: Zhiwei Chen <condy0919@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `tuareg-mode'.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'tuareg nil t)
-
-(defconst evil-collection-tuareg-maps '(tuareg-mode-map))
-
-;;;###autoload
-(defun evil-collection-tuareg-setup ()
- "Set up `evil' bindings for `tuareg'."
- (evil-collection-define-key 'normal 'tuareg-mode-map
- "gz" 'tuareg-run-ocaml))
-
-(provide 'evil-collection-tuareg)
-
-;;; evil-collection-tuareg.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/typescript-mode/README.org b/.config/emacs/lisp/evil-collection/modes/typescript-mode/README.org
deleted file mode 100644
index f6bdc37..0000000
--- a/.config/emacs/lisp/evil-collection/modes/typescript-mode/README.org
+++ /dev/null
@@ -1,13 +0,0 @@
-* typescript-mode
-
- Evil integration for [[https://github.com/emacs-typescript/typescript.el][typescript-mode]].
-
- No key bindings are added. The setup installs a hook that sets
- =evil-shift-width= to =typescript-indent-level= in =typescript-mode=
- buffers so that evil shift operators match the mode's indentation.
-
-** New commands
-
- - =evil-collection-typescript-mode-set-evil-shift-width= — sync
- =evil-shift-width= with =typescript-indent-level= (added to
- =typescript-mode-hook=).
diff --git a/.config/emacs/lisp/evil-collection/modes/typescript-mode/evil-collection-typescript-mode.el b/.config/emacs/lisp/evil-collection/modes/typescript-mode/evil-collection-typescript-mode.el
deleted file mode 100644
index 47366e6..0000000
--- a/.config/emacs/lisp/evil-collection/modes/typescript-mode/evil-collection-typescript-mode.el
+++ /dev/null
@@ -1,46 +0,0 @@
-;;; evil-collection-typescript-mode.el --- Bindings for `typescript-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, evil, tools, typescript
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `typescript-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'typescript-mode nil t)
-
-(defvar typescript-indent-level)
-
-(defun evil-collection-typescript-mode-set-evil-shift-width ()
- "Set `evil-shift-width' according to `typescript-indent-level'."
- (setq-local evil-shift-width typescript-indent-level))
-
-;;;###autoload
-(defun evil-collection-typescript-mode-setup ()
- "Set up `evil' bindings for `typescript-mode'."
- (add-hook 'typescript-mode-hook
- #'evil-collection-typescript-mode-set-evil-shift-width))
-
-(provide 'evil-collection-typescript-mode)
-;;; evil-collection-typescript-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ultra-scroll/evil-collection-ultra-scroll.el b/.config/emacs/lisp/evil-collection/modes/ultra-scroll/evil-collection-ultra-scroll.el
deleted file mode 100644
index fcc4aec..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ultra-scroll/evil-collection-ultra-scroll.el
+++ /dev/null
@@ -1,58 +0,0 @@
-;;; evil-collection-ultra-scroll.el --- Evil integration for ultra-scroll -*- lexical-binding: t -*-
-
-;; Copyright (C) 2025 Steven Allen
-
-;; Author: Steven Allen <steven@stebalien.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, ultra-scroll, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil integration for ultra-scroll.
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'ultra-scroll nil t)
-
-(defvar evil-collection-ultra-scroll-hide-cursor-states
- '(evil-motion-state-cursor evil-normal-state-cursor)
- "States in which to hide the cursor when scrolling.")
-
-(defun evil-collection-ultra-scroll--hide-cursor ()
- "A special Evil cursor type that simply hides the cursor."
- (setq cursor-type nil))
-
-(defun evil-collection-ultra-scroll--set-cursor-visible (arg)
- "Make the cursor invisible when called with ARG < 1, or visible otherwise."
- (when (bound-and-true-p evil-local-mode)
- (if (and (numberp arg) (< arg 1))
- (dolist (var evil-collection-ultra-scroll-hide-cursor-states)
- (make-local-variable var)
- (set var #'evil-collection-ultra-scroll--hide-cursor))
- (mapc #'kill-local-variable evil-collection-ultra-scroll-hide-cursor-states)
- (evil-refresh-cursor))))
-
-(defun evil-collection-ultra-scroll-setup ()
- "Set up `evil' integration for `ultra-scroll'."
- (add-hook 'ultra-scroll-hide-functions #'evil-collection-ultra-scroll--set-cursor-visible))
-
-(provide 'evil-collection-ultra-scroll)
-
-;;; evil-collection-ultra-scroll.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/unimpaired/evil-collection-unimpaired.el b/.config/emacs/lisp/evil-collection/modes/unimpaired/evil-collection-unimpaired.el
deleted file mode 100644
index 4d9710f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/unimpaired/evil-collection-unimpaired.el
+++ /dev/null
@@ -1,313 +0,0 @@
-;;; evil-collection-unimpaired.el --- Evil Collection port of Unimpaired -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, unimpaired, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; `evil' port of unimpaired for `evil-collection'.
-;; https://github.com/tpope/vim-unimpaired
-
-;;; Code:
-(require 'evil-collection)
-
-;; Externals
-(defvar flycheck-current-errors)
-
-(defgroup evil-collection-unimpaired nil
- "Evil port of unimpaired for `evil-collection'."
- :group 'evil-collection)
-
-(defcustom evil-collection-unimpaired-want-repeat-mode-integration nil
- "Whether or not to enable `repeat-mode' integration."
- :type 'boolean
- :group 'evil-collection)
-
-(defconst evil-collection-unimpaired-maps '(evil-collection-unimpaired-mode-map))
-
-(defvar evil-collection-unimpaired-mode-map (make-sparse-keymap)
- "Keymap for `evil-collection-unimpaired-mode'.")
-
-(define-minor-mode evil-collection-unimpaired-mode
- "Evil port of unimpaired."
- :lighter " unimpaired"
- :group 'evil-collection-unimpaired)
-
-;;;###autoload
-(define-globalized-minor-mode global-evil-collection-unimpaired-mode
- evil-collection-unimpaired-mode evil-collection-unimpaired-mode-on
- :group 'evil-collection-unimpaired)
-
-(defun evil-collection-unimpaired-mode-on ()
- "Turn on `evil-collection-unimpaired-mode'."
- (evil-collection-unimpaired-mode 1))
-
-(evil-define-motion evil-collection-unimpaired-next-error (count)
- "Go to next error."
- :jump t
- (setq count (or count 1))
- (cond
- ((and (bound-and-true-p flycheck-mode)
- (fboundp 'flycheck-next-error))
- (flycheck-next-error count))
- ((and (bound-and-true-p flymake-mode)
- (fboundp 'flymake-goto-next-error))
- (flymake-goto-next-error count))
- (:default
- (message "No linting modes are on."))))
-
-(evil-define-motion evil-collection-unimpaired-previous-error (count)
- "Go to previous error."
- :jump t
- (evil-collection-unimpaired-next-error (- (or count 1))))
-
-(defun evil-collection-unimpaired--flycheck-count-errors ()
- "Count the number of flycheck errors."
- (length (delete-dups (mapcar 'flycheck-error-line flycheck-current-errors))))
-
-(evil-define-motion evil-collection-unimpaired-first-error ()
- "Go to the first error."
- :jump t
- (cond
- ((and (bound-and-true-p flycheck-mode)
- (fboundp 'flycheck-first-error))
- (flycheck-first-error))
- ((bound-and-true-p flymake-mode)
- (message "flymake unsupported."))
- (:default
- (message "No linting modes are on."))))
-
-(evil-define-motion evil-collection-unimpaired-last-error ()
- "Go to the last error."
- :jump t
- (cond
- ((and (bound-and-true-p flycheck-mode)
- (fboundp 'flycheck-first-error))
- (flycheck-first-error (evil-collection-unimpaired--flycheck-count-errors)))
- ((bound-and-true-p flymake-mode)
- (message "flymake unsupported."))
- (:default
- (message "No linting modes are on."))))
-
-(defconst evil-collection-unimpaired--SCM-conflict-marker "^\\(@@@ .* @@@\\|[<=>]\\{7\\}\\)"
- "A regexp to match SCM conflict marker.")
-
-(evil-define-motion evil-collection-unimpaired-previous-SCM-conflict-marker (count)
- "Go to the previous SCM conflict marker or diff/patch hunk."
- :jump t
- (evil-collection-unimpaired-next-SCM-conflict-marker (- (or count 1))))
-
-(evil-define-motion evil-collection-unimpaired-next-SCM-conflict-marker (count)
- "Go to the next SCM conflict marker or diff/patch hunk."
- :jump t
- (evil-motion-loop (dir (or count 1))
- (cond
- ((> dir 0)
- (forward-line 1)
- (when (not (search-forward-regexp evil-collection-unimpaired--SCM-conflict-marker nil t))
- (forward-line -1))
- (move-beginning-of-line nil))
- (t
- (search-backward-regexp evil-collection-unimpaired--SCM-conflict-marker nil t)
- (move-beginning-of-line nil)))))
-
-(defun evil-collection-unimpaired-paste-above ()
- "Paste above current line with preserving indentation."
- (interactive)
- (let ((indent (current-indentation))
- (column (current-column)))
- (evil-insert-newline-above)
- (indent-to indent)
- (evil-paste-after 1)
- (move-to-column column)))
-
-(defun evil-collection-unimpaired-paste-below ()
- "Paste below current line with preserving indentation."
- (interactive)
- (let ((indent (current-indentation))
- (column (current-column)))
- (evil-insert-newline-below)
- (indent-to indent)
- (evil-paste-after 1)
- (move-to-column column)))
-
-(defun evil-collection-unimpaired-insert-newline-above (count)
- "Insert COUNT blank line(s) above current line."
- (interactive "p")
- (save-excursion (dotimes (_ count) (evil-insert-newline-above)))
- (when (bolp) (forward-char count)))
-
-(defun evil-collection-unimpaired-insert-newline-below (count)
- "Insert COUNT blank line(s) below current line."
- (interactive "p")
- (save-excursion (dotimes (_ count) (evil-insert-newline-below))))
-
-(defun evil-collection-unimpaired--encode (beg end fn)
- "Apply FN from BEG to END."
- (save-excursion
- (goto-char beg)
- (let* ((end (if (eq evil-this-type 'line) (1- end) end))
- (text (buffer-substring-no-properties beg end)))
- (delete-region beg end)
- (insert (funcall fn text)))))
-
-(evil-define-operator evil-collection-unimpaired-url-encode (count &optional beg end)
- "Encode a URL string."
- (interactive "<c><r>")
- (ignore count)
- (evil-collection-unimpaired--encode beg end #'url-encode-url))
-
-(evil-define-operator evil-collection-unimpaired-url-decode (count &optional beg end)
- "Decode a URL string."
- (interactive "<c><r>")
- (ignore count)
- (evil-collection-unimpaired--encode beg end #'url-unhex-string))
-
-(evil-define-operator evil-collection-unimpaired-b64-encode (count &optional beg end)
- "Encode a base64 string."
- (interactive "<c><r>")
- (ignore count)
- (evil-collection-unimpaired--encode beg end #'base64-encode-string))
-
-(evil-define-operator evil-collection-unimpaired-b64-decode (count &optional beg end)
- "Decode a base64 string."
- (interactive "<c><r>")
- (ignore count)
- (evil-collection-unimpaired--encode beg end #'base64-decode-string))
-
-;; https://stackoverflow.com/questions/2423834/move-line-region-up-and-down-in-emacs
-(defun evil-collection-unimpaired--move-text (arg)
- "Move text down if ARG is positive, otherwise move text up."
- (cond
- ((and mark-active transient-mark-mode)
- (when (> (point) (mark))
- (exchange-point-and-mark))
- (let ((column (current-column))
- (text (delete-and-extract-region (point) (mark))))
- (forward-line arg)
- (move-to-column column :force)
- (set-mark (point))
- (insert text)
- (exchange-point-and-mark)
- (setq deactivate-mark nil)))
- (t
- (let ((column (current-column)))
- (beginning-of-line)
- (when (or (> arg 0) (not (bobp)))
- (forward-line)
- (when (or (< arg 0) (not (eobp)))
- (transpose-lines arg))
- (forward-line -1))
- (move-to-column column)))))
-
-(defun evil-collection-unimpaired-move-text-down (arg)
- "Move region (transient-mark-mode active) or current line ARG lines down."
- (interactive "*p")
- (evil-collection-unimpaired--move-text arg))
-
-(defun evil-collection-unimpaired-move-text-up (arg)
- "Move region (transient-mark-mode active) or current line ARG lines up."
- (interactive "*p")
- (evil-collection-unimpaired--move-text (- arg)))
-
-;;; 'repeat-mode' integration. Emacs 28+
-(defmacro evil-collection-unimpaired-defvar-keymap (name &rest bindings)
- "Define NAME a keymap with BINDINGS."
- (declare (indent 1))
- (cl-assert (cl-evenp (length bindings)))
- `(progn
- (defvar ,name
- (let ((map (make-sparse-keymap)))
- map))
- (evil-collection-define-key nil ',name ,@bindings)))
-
-;; "[b" and "]b"
-(evil-collection-unimpaired-defvar-keymap evil-prev-buffer-repeat-map
- "b" #'evil-prev-buffer
- "B" #'evil-next-buffer)
-(evil-collection-unimpaired-defvar-keymap evil-next-buffer-repeat-map
- "b" #'evil-next-buffer
- "B" #'evil-prev-buffer)
-
-;; "[e" and "]e"
-(evil-collection-unimpaired-defvar-keymap evil-collection-unimpaired-move-text-up-repeat-map
- "e" #'evil-collection-unimpaired-move-text-up
- "E" #'evil-collection-unimpaired-move-text-down)
-(evil-collection-unimpaired-defvar-keymap evil-collection-unimpaired-move-text-down-repeat-map
- "e" #'evil-collection-unimpaired-move-text-down
- "E" #'evil-collection-unimpaired-move-text-up)
-
-;; "[q" and "]q"
-(evil-collection-unimpaired-defvar-keymap evil-collection-unimpaired-previous-error-repeat-map
- "q" #'evil-collection-unimpaired-previous-error
- "Q" #'evil-collection-unimpaired-next-error)
-(evil-collection-unimpaired-defvar-keymap evil-collection-unimpaired-next-error-repeat-map
- "q" #'evil-collection-unimpaired-next-error
- "Q" #'evil-collection-unimpaired-previous-error)
-
-;;;###autoload
-(defun evil-collection-unimpaired-setup ()
- "Set up unimpaired-like bindings."
- (global-evil-collection-unimpaired-mode 1)
- (evil-collection-define-key 'normal 'evil-collection-unimpaired-mode-map
- "[b" 'evil-prev-buffer
- "]b" 'evil-next-buffer
- "[e" 'evil-collection-unimpaired-move-text-up
- "]e" 'evil-collection-unimpaired-move-text-down
- "[l" 'evil-collection-unimpaired-previous-error
- "]l" 'evil-collection-unimpaired-next-error
- "[L" 'evil-collection-unimpaired-first-error
- "]L" 'evil-collection-unimpaired-last-error
- "[q" 'evil-collection-unimpaired-previous-error
- "]q" 'evil-collection-unimpaired-next-error
- "[Q" 'evil-collection-unimpaired-first-error
- "]Q" 'evil-collection-unimpaired-last-error
- "[n" 'evil-collection-unimpaired-previous-SCM-conflict-marker
- "]n" 'evil-collection-unimpaired-next-SCM-conflict-marker
- "[p" 'evil-collection-unimpaired-paste-above
- "]p" 'evil-collection-unimpaired-paste-below
- "[P" 'evil-collection-unimpaired-paste-above
- "]P" 'evil-collection-unimpaired-paste-below
- (kbd "[ SPC") 'evil-collection-unimpaired-insert-newline-above
- (kbd "] SPC") 'evil-collection-unimpaired-insert-newline-below)
- (evil-collection-define-key 'visual 'evil-collection-unimpaired-mode-map
- "[e" 'evil-collection-unimpaired-move-text-up
- "]e" 'evil-collection-unimpaired-move-text-down
- "[n" 'evil-collection-unimpaired-previous-SCM-conflict-marker
- "]n" 'evil-collection-unimpaired-next-SCM-conflict-marker)
- (evil-collection-define-key 'motion 'evil-collection-unimpaired-mode-map
- "[u" 'evil-collection-unimpaired-url-encode
- "]u" 'evil-collection-unimpaired-url-decode
- "[6" 'evil-collection-unimpaired-b64-encode
- "]6" 'evil-collection-unimpaired-b64-decode)
-
- (when evil-collection-unimpaired-want-repeat-mode-integration
- (dolist (cmd '(evil-prev-buffer
- evil-next-buffer
- evil-collection-unimpaired-move-text-up
- evil-collection-unimpaired-move-text-down
- evil-collection-unimpaired-previous-error
- evil-collection-unimpaired-next-error))
- (put cmd 'repeat-map (intern (format "%s-repeat-map" cmd))))))
-
-(provide 'evil-collection-unimpaired)
-;;; evil-collection-unimpaired.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/vc-annotate/README.org b/.config/emacs/lisp/evil-collection/modes/vc-annotate/README.org
deleted file mode 100644
index c53e62f..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vc-annotate/README.org
+++ /dev/null
@@ -1,23 +0,0 @@
-* vc-annotate
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Old-Revisions.html][vc-annotate]] (=C-x v g=), Emacs' built-in
- blame view.
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------------------------------------+----------+-------------------|
- | =quit-window= | =q= | =q= |
- | =vc-annotate-revision-previous-to-line= | =P= | =a= |
- | =vc-annotate-show-diff-revision-at-line= | === | =d=, === |
- | =vc-annotate-show-changeset-diff-revision-at-line= | =D= | =D= |
- | =vc-annotate-find-revision-at-line= | =f= | =F= |
- | =vc-annotate-revision-at-line= | =J= | =J= |
- | =vc-annotate-show-log-revision-at-line= | =l= | =L= |
- | =vc-annotate-next-revision= | =n= | =gj=, =]]=, =C-j= |
- | =vc-annotate-prev-revision= | =p= | =gk=, =[[=, =C-k= |
- | =vc-annotate-working-revision= | =w= | =W= |
- | =vc-annotate-toggle-annotation-visibility= | =A= | =A= |
- | =vc-annotate-goto-line= | =RET= | =RET= |
-
- Initial state is normal.
diff --git a/.config/emacs/lisp/evil-collection/modes/vc-annotate/evil-collection-vc-annotate.el b/.config/emacs/lisp/evil-collection/modes/vc-annotate/evil-collection-vc-annotate.el
deleted file mode 100644
index 4334be1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vc-annotate/evil-collection-vc-annotate.el
+++ /dev/null
@@ -1,59 +0,0 @@
-;;; evil-collection-vc-annotate.el --- Bindings for `vc-annotate' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `vc-annotate'
-
-;;; Code:
-(require 'evil-collection)
-(require 'vc-annotate)
-
-(defconst evil-collection-vc-annotate-maps '(vc-annotate-mode-map))
-
-;;;###autoload
-(defun evil-collection-vc-annotate-setup ()
- "Set up `evil' bindings for `vc-annotate'."
- (evil-set-initial-state 'vc-annotate-mode 'normal)
- (evil-collection-define-key 'normal 'vc-annotate-mode-map
- "q" 'quit-window
- "a" 'vc-annotate-revision-previous-to-line
- "d" 'vc-annotate-show-diff-revision-at-line
- "=" 'vc-annotate-show-diff-revision-at-line
- "D" 'vc-annotate-show-changeset-diff-revision-at-line
- "F" 'vc-annotate-find-revision-at-line
- "J" 'vc-annotate-revision-at-line
- "L" 'vc-annotate-show-log-revision-at-line
- "gj" 'vc-annotate-next-revision
- "gk" 'vc-annotate-prev-revision
- "]]" 'vc-annotate-next-revision
- "[[" 'vc-annotate-prev-revision
- (kbd "C-j") 'vc-annotate-next-revision
- (kbd "C-k") 'vc-annotate-prev-revision
- "W" 'vc-annotate-working-revision
- "A" 'vc-annotate-toggle-annotation-visibility
- (kbd "RET") 'vc-annotate-goto-line))
-
-(provide 'evil-collection-vc-annotate)
-;;; evil-collection-vc-annotate.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/vc-dir/README.org b/.config/emacs/lisp/evil-collection/modes/vc-dir/README.org
deleted file mode 100644
index 98e36b4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vc-dir/README.org
+++ /dev/null
@@ -1,47 +0,0 @@
-* vc-dir
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/VC-Directory-Mode.html][vc-dir]] (=C-x v d=).
-
-** Key bindings
-
- Standard read-only motion / quit bindings come from
- =evil-collection-set-readonly-bindings=.
-
- | Command | Original | Evil |
- |----------------------------------+---------------+-------------------|
- | =vc-next-action= | =v= | =c= |
- | =vc-diff= | === | =d=, =TAB= |
- | =vc-root-diff= | =D= | =D=, =S-TAB= |
- | =vc-register= | =i= | =R=, =s= |
- | =vc-update= | =+= | =gu=, =F= |
- | =revert-buffer= | =g= | =gr= |
- | =vc-push= | =P= | =p=, =P= |
- | =vc-print-log= | =l= | =Lf=, =Ll= |
- | =vc-print-root-log= | =L= | =Lr=, =LL= |
- | =vc-log-incoming= | =Ii= | =Li= |
- | =vc-log-outgoing= | =Io= | =Lo= |
- | =vc-revert= | =N= | =x= |
- | =vc-annotate= | =A= | =b= |
- | =vc-dir-mark= | =m= | =m= |
- | =vc-dir-mark-all-files= | =M m= | =M= |
- | =vc-dir-unmark= | =u= | =u= |
- | =vc-dir-unmark-all-files= | =M u= | =U= |
- | =vc-dir-next-directory= | =M-n= | =]]=, =gj=, =C-j= |
- | =vc-dir-previous-directory= | =M-p= | =[[=, =gk=, =C-k= |
- | =vc-dir-find-file= | =f=, =RET= | =gf=, =RET= |
- | =vc-dir-find-file-other-window= | =o= | =go=, =S-RET= |
- | =vc-dir-display-file= | =SPC= | =gO=, =M-RET= |
- | =vc-dir-kill-dir-status-process= | =C-c C-c= | =C-c C-c= |
- | =vc-dir-toggle-mark= | =SPC= | =t= |
- | =vc-dir-hide-up-to-date= | =x= | =(=, =o= |
- | =vc-dir-kill-line= | =k= | =X= |
- | =vc-dir-search= | =S= | =S= |
- | =vc-dir-query-replace-regexp= | =Q= | =Q= |
- | =vc-dir-isearch= | =M-s a C-s= | =M-s a C-s= |
- | =vc-dir-isearch-regexp= | =M-s a M-C-s= | =M-s a M-C-s= |
- | =vc-dir-ignore= | =G= | =i= |
- | =vc-create-tag= | =B c= | =Bc= |
- | =vc-print-branch-log= | =B l= | =Bl= |
- | =vc-retrieve-tag= | =B s= | =Bs= |
-
- Initial state is normal.
diff --git a/.config/emacs/lisp/evil-collection/modes/vc-dir/evil-collection-vc-dir.el b/.config/emacs/lisp/evil-collection/modes/vc-dir/evil-collection-vc-dir.el
deleted file mode 100644
index a9d1504..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vc-dir/evil-collection-vc-dir.el
+++ /dev/null
@@ -1,113 +0,0 @@
-;;; evil-collection-vc-dir.el --- Evil bindings for Vc-Dir -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <ambrevar@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, vc-dir, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Vc-Dir.
-
-;;; Code:
-(require 'vc-dir)
-(require 'evil-collection)
-
-(defconst evil-collection-vc-dir-maps '(vc-dir-mode-map))
-
-;;;###autoload
-(defun evil-collection-vc-dir-setup ()
- "Set up `evil' bindings for `vc-dir'."
- (evil-set-initial-state 'vc-dir-mode 'normal)
- (evil-collection-set-readonly-bindings 'vc-dir-mode-map)
- (evil-collection-define-key 'normal 'vc-dir-mode-map
- ;; VC commands
- "c" 'vc-next-action
-
- "d" 'vc-diff
- "D" 'vc-root-diff
- "\t" 'vc-diff
- [backtab] 'vc-root-diff
-
- "R" 'vc-register
- "s" 'vc-register ;; Like `magit-stage'?
- "gu" 'vc-update
- "gr" 'revert-buffer
-
- "F" 'vc-update ;; This is the same as `vc-update' bound to "gu".
- "p" 'vc-push
- "P" 'vc-push
-
- "Lf" 'vc-print-log ;; Log File.
- "Ll" 'vc-print-log
- "Lr" 'vc-print-root-log
- "LL" 'vc-print-root-log
- "Li" 'vc-log-incoming
- "Lo" 'vc-log-outgoing
-
- "x" 'vc-revert
- "b" 'vc-annotate ;; Like `magit-blame'
-
- ;; Marking.
- "m" 'vc-dir-mark
- "M" 'vc-dir-mark-all-files
- "u" 'vc-dir-unmark
- "U" 'vc-dir-unmark-all-files
-
- ;; Rebind paragraph-movement commands.
- "]]" 'vc-dir-next-directory
- "[[" 'vc-dir-previous-directory
- "gj" 'vc-dir-next-directory
- "gk" 'vc-dir-previous-directory
- (kbd "C-j") 'vc-dir-next-directory
- (kbd "C-k") 'vc-dir-previous-directory
-
- ;; The remainder.
- "gf" 'vc-dir-find-file
- "\C-m" 'vc-dir-find-file
-
- (kbd "S-<return>") 'vc-dir-find-file-other-window
- "go" 'vc-dir-find-file-other-window
- "gO" 'vc-dir-display-file
- (kbd "M-<return>") 'vc-dir-display-file
-
- "\C-c\C-c" 'vc-dir-kill-dir-status-process
- [down-mouse-3] 'vc-dir-menu
- [mouse-2] 'vc-dir-find-file-other-window
- "t" 'vc-dir-toggle-mark
- [follow-link] 'mouse-face
-
- "(" 'vc-dir-hide-up-to-date
- "o" 'vc-dir-hide-up-to-date
-
- "X" 'vc-dir-kill-line
- "S" 'vc-dir-search
- "Q" 'vc-dir-query-replace-regexp
- (kbd "M-s a C-s") 'vc-dir-isearch
- (kbd "M-s a M-C-s") 'vc-dir-isearch-regexp
- "i" 'vc-dir-ignore
-
- ;; Branching
- "Bc" 'vc-create-tag
- "Bl" 'vc-print-branch-log
- "Bs" 'vc-retrieve-tag))
-
-(provide 'evil-collection-vc-dir)
-;;; evil-collection-vc-dir.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/vc-git/README.org b/.config/emacs/lisp/evil-collection/modes/vc-git/README.org
deleted file mode 100644
index 4d4e8bb..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vc-git/README.org
+++ /dev/null
@@ -1,16 +0,0 @@
-* vc-git
-
- Evil bindings for the vc-git log view (=vc-git-log-view-mode=).
-
-** Key bindings
-
- | Command | Original | Evil |
- |---------------------------------+----------+-------|
- | =quit-window= | =q= | =q= |
- | =log-view-diff= | ===, =d= | =d= |
- | =log-view-diff-changeset= | =D= | =D= |
- | =log-view-msg-next= | =n= | =C-j= |
- | =log-view-msg-prev= | =p= | =C-k= |
- | =log-view-toggle-entry-display= | =RET= | =TAB= |
-
- Initial state for =vc-git-log-view-mode= is normal.
diff --git a/.config/emacs/lisp/evil-collection/modes/vc-git/evil-collection-vc-git.el b/.config/emacs/lisp/evil-collection/modes/vc-git/evil-collection-vc-git.el
deleted file mode 100644
index 4f002be..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vc-git/evil-collection-vc-git.el
+++ /dev/null
@@ -1,48 +0,0 @@
-;;; evil-collection-vc-git.el --- Evil bindings for Vc-Git -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <ambrevar@gmail.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, vc-git, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Vc-Git.
-
-;;; Code:
-(require 'vc-git)
-(require 'evil-collection)
-
-(defconst evil-collection-vc-git-maps '(vc-git-mode-map))
-
-;;;###autoload
-(defun evil-collection-vc-git-setup ()
- "Set up `evil' bindings for `vc-git'."
- (evil-set-initial-state 'vc-git-log-view-mode 'normal)
- (evil-collection-define-key 'normal 'vc-git-log-view-mode-map
- "q" 'quit-window
- "d" 'log-view-diff
- "D" 'log-view-diff-changeset
- (kbd "C-j") 'log-view-msg-next
- (kbd "C-k") 'log-view-msg-prev
- (kbd "<tab>") 'log-view-toggle-entry-display))
-
-(provide 'evil-collection-vc-git)
-;;; evil-collection-vc-git.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/vdiff/README.org b/.config/emacs/lisp/evil-collection/modes/vdiff/README.org
deleted file mode 100644
index 3ba3adf..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vdiff/README.org
+++ /dev/null
@@ -1,18 +0,0 @@
-* vdiff
-
- Evil bindings for [[https://github.com/justbur/emacs-vdiff][vdiff]], a vimdiff-style diff/merge interface.
-
- Applied to both =vdiff-mode-map= and =vdiff-3way-mode-map=.
-
-** Key bindings
-
- | Command | Original | Evil |
- |-------------------------+----------+------|
- | =vdiff-next-hunk= | (varies) | =]c= |
- | =vdiff-previous-hunk= | (varies) | =[c= |
- | =vdiff-receive-changes= | =do= | =do= |
- | =vdiff-send-changes= | =dp= | =dp= |
-
- =do= / =dp= are installed as evil operator-keys via
- =evil-collection-define-operator-key= so they compose with motions like
- vim's =do= (diff obtain) and =dp= (diff put).
diff --git a/.config/emacs/lisp/evil-collection/modes/vdiff/evil-collection-vdiff.el b/.config/emacs/lisp/evil-collection/modes/vdiff/evil-collection-vdiff.el
deleted file mode 100644
index 393061a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vdiff/evil-collection-vdiff.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; evil-collection-vdiff.el --- Evil bindings for vdiff -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Evgeni Kolev <evgenysw@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, vdiff, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for vdiff.el https://github.com/justbur/emacs-vdiff
-
-;;; Code:
-(require 'vdiff nil t)
-(require 'evil-collection)
-
-(defconst evil-collection-vdiff-maps '(vdiff-mode-map
- vdiff-3way-mode-map))
-
-;;;###autoload
-(defun evil-collection-vdiff-setup ()
- "Set up `evil' bindings for `vdiff-mode'."
- (add-hook 'vdiff-mode-hook 'evil-normalize-keymaps)
- (add-hook 'vdiff-3way-mode-hook 'evil-normalize-keymaps)
-
- (dolist (keymap evil-collection-vdiff-maps)
- (evil-collection-define-key 'normal keymap
- "]c" 'vdiff-next-hunk
- "[c" 'vdiff-previous-hunk)
-
- ;; define `do' (diff obtain) and `dp' (diff put) bindings
- (evil-collection-define-operator-key 'delete keymap
- "o" 'vdiff-receive-changes
- "p" 'vdiff-send-changes)))
-
-(provide 'evil-collection-vdiff)
-
-;;; evil-collection-vdiff.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/vertico/README.org b/.config/emacs/lisp/evil-collection/modes/vertico/README.org
deleted file mode 100644
index 5ea5d14..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vertico/README.org
+++ /dev/null
@@ -1,40 +0,0 @@
-* vertico
-
- Evil bindings for [[https://github.com/minad/vertico][vertico]].
-
- Bindings only take effect when =evil-collection-setup-minibuffer= is non-nil
- (excluding the global =<escape>= → =abort-recursive-edit=).
-
-** Key bindings
-
-*** vertico-map (normal state)
-
- | Command | Original | Evil |
- |--------------------------+-----------------+------------|
- | =abort-recursive-edit= | =C-g= | =<escape>= |
- | =vertico-first= | =M-<= | =gg= |
- | =vertico-last= | =M->= | =G= |
- | =vertico-next= | =<down>=, =C-n= | =j= |
- | =vertico-previous= | =<up>=, =C-p= | =k= |
- | =vertico-next-group= | =M-}= | =gj= |
- | =vertico-previous-group= | =M-{= | =gk= |
- | =vertico-scroll-down= | =M-v= | =C-u= |
- | =vertico-scroll-up= | =C-v= | =C-d= |
-
- =C-u= is gated on =evil-want-C-u-scroll=; =C-d= on =evil-want-C-d-scroll=.
-
-*** vertico-map (insert state)
-
- | Command | Original | Evil |
- |--------------------+----------+-------|
- | =vertico-next= | =C-n= | =C-n= |
- | =vertico-previous= | =C-p= | =C-p= |
-
- With =evil-collection-vertico-want-want-C-u-in-insert= and
- =evil-want-C-u-delete= unset, =C-u= → =vertico-scroll-down= in insert state.
-
-** Customization
-
- | Variable | Default | Purpose |
- |---------------------------------------------------+---------+-------------------------------------|
- | =evil-collection-vertico-want-want-C-u-in-insert= | =nil= | Allow =C-u= scroll in insert state. |
diff --git a/.config/emacs/lisp/evil-collection/modes/vertico/evil-collection-vertico.el b/.config/emacs/lisp/evil-collection/modes/vertico/evil-collection-vertico.el
deleted file mode 100644
index 521e1a1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vertico/evil-collection-vertico.el
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; evil-collection-vertico.el --- Evil bindings for vertico -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Kisaragi Hiu
-
-;; Author: Kisaragi Hiu <mail@kisaragi-hiu.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, vertico, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `vertico'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'vertico nil t)
-
-(defcustom evil-collection-vertico-want-want-C-u-in-insert nil
- "When non nil, C-u may be bound in insert state."
- :group 'evil-collection
- :type 'boolean)
-
-;;;###autoload
-(defun evil-collection-vertico-setup ()
- "Set up `evil' bindings for `vertico'."
- (evil-collection-define-key nil 'vertico-map
- (kbd "<escape>") 'abort-recursive-edit)
-
- (defvar evil-collection-setup-minibuffer)
- (when evil-collection-setup-minibuffer
- (when evil-want-C-u-scroll
- (evil-collection-define-key 'normal 'vertico-map
- (kbd "C-u") 'vertico-scroll-down))
- (when evil-collection-vertico-want-want-C-u-in-insert
- (unless evil-want-C-u-delete
- (evil-collection-define-key 'insert 'vertico-map
- (kbd "C-u") 'vertico-scroll-down)))
- (when evil-want-C-d-scroll
- (evil-collection-define-key 'normal 'vertico-map
- (kbd "C-d") 'vertico-scroll-up))
-
- (evil-collection-define-key 'normal 'vertico-map
- "gg" 'vertico-first
- "G" 'vertico-last
- "gj" 'vertico-next-group
- "gk" 'vertico-previous-group
- "j" 'vertico-next
- "k" 'vertico-previous)
-
- (evil-collection-define-key 'insert 'vertico-map
- (kbd "C-n") 'vertico-next
- (kbd "C-p") 'vertico-previous)))
-
-(provide 'evil-collection-vertico)
-;;; evil-collection-vertico.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/view/README.org b/.config/emacs/lisp/evil-collection/modes/view/README.org
deleted file mode 100644
index 39a990c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/view/README.org
+++ /dev/null
@@ -1,14 +0,0 @@
-* view
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/View-Mode.html][View mode]].
-
-** Key bindings
-
- | Command | Original | Evil |
- |-----------------------------+----------+---------|
- | =View-quit= | =q= | =q= |
- | =View-scroll-page-forward= | =SPC= | =SPC= |
- | =View-scroll-page-backward= | =S-SPC= | =S-SPC= |
- | =revert-buffer= | =g= | =gr= |
-
- View mode starts in evil normal state.
diff --git a/.config/emacs/lisp/evil-collection/modes/view/evil-collection-view.el b/.config/emacs/lisp/evil-collection/modes/view/evil-collection-view.el
deleted file mode 100644
index 70c66ed..0000000
--- a/.config/emacs/lisp/evil-collection/modes/view/evil-collection-view.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-view.el --- Evil bindings for view -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, bindings, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for View.
-
-;;; Code:
-(require 'evil-collection)
-(require 'view)
-
-(defconst evil-collection-view-maps '(view-mode-map))
-
-;;;###autoload
-(defun evil-collection-view-setup ()
- "Set up `evil' bindings for `view'."
- (add-hook 'view-mode-hook 'evil-normalize-keymaps)
- (evil-set-initial-state 'view-mode 'normal)
- (evil-collection-define-key 'normal 'view-mode-map
- "q" 'View-quit
- (kbd "SPC") 'View-scroll-page-forward
- (kbd "S-SPC") 'View-scroll-page-backward
-
- ;; refresh
- (kbd "gr") 'revert-buffer))
-
-(provide 'evil-collection-view)
-;;; evil-collection-view.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/vlf/README.org b/.config/emacs/lisp/evil-collection/modes/vlf/README.org
deleted file mode 100644
index 05842c4..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vlf/README.org
+++ /dev/null
@@ -1,46 +0,0 @@
-* vlf
-
- Evil bindings for [[https://github.com/m00natic/vlfi][vlf]] (View Large Files). Bindings are added to
- =vlf-prefix-map= (the =C-c C-v= prefix).
-
-** Key bindings
-
- Always installed:
-
- | Command | Original | Evil |
- |-------------------------------------------+----------+-------------------|
- | =vlf-next-batch= | =n= | =gj=, =C-j=, =]]= |
- | =vlf-prev-batch= | =p= | =gk=, =C-k=, =[[= |
- | =vlf-change-batch-size= | =+= | =+= |
- | =evil-collection-vlf-decrease-batch-size= | =-= | =-= |
- | =vlf-next-batch-from-point= | =SPC= | === |
- | =vlf-revert= | =g= | =gr= |
- | =vlf-query-replace= | =%= | =g%= |
- | =vlf-occur= | =o= | =go= |
-
- When =evil-collection-want-g-bindings= is non-nil:
-
- | Command | Original | Evil |
- |--------------------------+----------+------|
- | =vlf-re-search-forward= | =s= | =g/= |
- | =vlf-re-search-backward= | =r= | =g?= |
- | =vlf-jump-to-chunk= | =j= | =gJ= |
- | =vlf-ediff-buffers= | =e= | =gE= |
- | =vlf-goto-line= | =l= | =g:= |
- | =vlf-toggle-follow= | =f= | =gF= |
-
- When =evil-collection-want-g-bindings= is nil:
-
- | Command | Original | Evil |
- |--------------------------+----------+------|
- | =vlf-re-search-forward= | =s= | =s= |
- | =vlf-re-search-backward= | =r= | =S= |
- | =vlf-jump-to-chunk= | =j= | =J= |
- | =vlf-ediff-buffers= | =e= | =E= |
- | =vlf-goto-line= | =l= | =L= |
- | =vlf-toggle-follow= | =f= | =F= |
-
-** New commands
-
- - =evil-collection-vlf-decrease-batch-size= - Halve the vlf batch size
- (mirror of =vlf-change-batch-size= with a prefix arg), bound to =-=.
diff --git a/.config/emacs/lisp/evil-collection/modes/vlf/evil-collection-vlf.el b/.config/emacs/lisp/evil-collection/modes/vlf/evil-collection-vlf.el
deleted file mode 100644
index b1482e2..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vlf/evil-collection-vlf.el
+++ /dev/null
@@ -1,86 +0,0 @@
-;;; evil-collection-vlf.el --- Evil bindings for vlf -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, vlf, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `vlf'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'vlf nil t)
-
-(defvar vlf-mode-map)
-(declare-function vlf-change-batch-size "vlf")
-
-(defconst evil-collection-vlf-maps '(vlf-mode-map))
-
-(define-obsolete-variable-alias 'evil-collection-vlf-want-g-bindings
- 'evil-collection-want-g-bindings "0.0.11")
-
-(defun evil-collection-vlf-decrease-batch-size ()
- "Decrease vlf batch size by factor of 2."
- (interactive)
- (vlf-change-batch-size t))
-
-;;; Code:
-;;;###autoload
-(defun evil-collection-vlf-setup ()
- "Set up `evil' bindings for `vlf'."
- (evil-set-initial-state 'vlf-mode 'normal)
-
- (add-hook 'vlf-mode-hook #'evil-normalize-keymaps)
-
- (evil-collection-define-key 'normal 'vlf-prefix-map
- "gj" 'vlf-next-batch
- "gk" 'vlf-prev-batch
- (kbd "C-j") 'vlf-next-batch
- (kbd "C-k") 'vlf-prev-batch
- "]]" 'vlf-next-batch
- "[[" 'vlf-prev-batch
- "+" 'vlf-change-batch-size
- "-" 'evil-collection-vlf-decrease-batch-size
- "=" 'vlf-next-batch-from-point
- ;; refresh
- "gr" 'vlf-revert
- "g%" 'vlf-query-replace
- "go" 'vlf-occur)
-
- (if evil-collection-want-g-bindings
- (evil-collection-define-key 'normal 'vlf-prefix-map
- "g/" 'vlf-re-search-forward
- "g?" 'vlf-re-search-backward
- "gJ" 'vlf-jump-to-chunk
- "gE" 'vlf-ediff-buffers
- "g:" 'vlf-goto-line
- "gF" 'vlf-toggle-follow)
- (evil-collection-define-key 'normal 'vlf-prefix-map
- "s" 'vlf-re-search-forward
- "S" 'vlf-re-search-backward
- "J" 'vlf-jump-to-chunk
- "E" 'vlf-ediff-buffers
- "L" 'vlf-goto-line
- "F" 'vlf-toggle-follow)))
-
-(provide 'evil-collection-vlf)
-;;; evil-collection-vlf.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/vterm/README.org b/.config/emacs/lisp/evil-collection/modes/vterm/README.org
deleted file mode 100644
index c6133fd..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vterm/README.org
+++ /dev/null
@@ -1,55 +0,0 @@
-* vterm
-
- Evil bindings for [[https://github.com/akermu/emacs-libvterm][vterm]].
-
- Initial state is =insert=. Normal state adds the bindings below and uses
- vterm-aware operators that respect the prompt boundary.
-
-** Key bindings (normal state)
-
- | Command | Original | Evil |
- |-----------------------------------------+-----------+------|
- | =vterm-previous-prompt= | =C-c C-p= | =[[= |
- | =vterm-next-prompt= | =C-c C-n= | =]]= |
- | =vterm-yank= (paste before) | =C-y= | =P= |
- | =evil-collection-vterm-paste-after= | n/a | =p= |
- | =evil-collection-vterm-insert= | n/a | =i= |
- | =evil-collection-vterm-insert-line= | n/a | =I= |
- | =evil-collection-vterm-append= | n/a | =a= |
- | =evil-collection-vterm-append-line= | n/a | =A= |
- | =evil-collection-vterm-first-non-blank= | n/a | =^= |
- | =vterm-undo= | n/a | =u= |
- | =vterm-reset-cursor-point= | =C-c C-r= | =G= |
-
- =RET= sends to the terminal in the state named by =evil-collection-repl-submit-state=.
-
-** Insert state
-
- To preserve terminal control sequences, the following are forwarded raw to
- the terminal via =vterm--self-insert=: =C-a=, =C-b=, =C-d=, =C-e=, =C-f=,
- =C-k=, =C-l=, =C-n=, =C-o=, =C-p=, =C-q=, =C-r=, =C-s=, =C-t=, =C-u=, =C-v=,
- =C-w=, =C-y=, =C-z=. =C-c= (prefix) and =C-h= (help) are not forwarded.
-
- =<delete>= → =vterm-send-delete=.
-
-** New commands
-
- | Command | Key | |
- |----------------------------------------------+-----------+--------------------------------------------|
- | =evil-collection-vterm-delete= | =d= | delete operator, clamped to current line |
- | =evil-collection-vterm-delete-line= | =D= | delete to end-of-line |
- | =evil-collection-vterm-delete-char= | =x= | delete forward char |
- | =evil-collection-vterm-delete-backward-char= | =X= | delete backward char |
- | =evil-collection-vterm-change= | =c= | change operator |
- | =evil-collection-vterm-change-line= | =C= | change to end-of-line |
- | =evil-collection-vterm-substitute= | =s= | |
- | =evil-collection-vterm-substitute-line= | =S= | |
- | =evil-collection-vterm-replace= | =r= | |
- | =evil-collection-vterm-next-line= | =j= | won't move below last prompt line |
- | =evil-collection-vterm-toggle-send-escape= | =C-c C-z= | toggle whether =ESC= goes to vterm or evil |
-
-** Customization
-
- | Variable | Default | Purpose |
- |------------------------------------------+---------+--------------------------------------------------------|
- | =evil-collection-vterm-move-cursor-back= | =nil= | Move cursor back one column when leaving insert state. |
diff --git a/.config/emacs/lisp/evil-collection/modes/vterm/evil-collection-vterm.el b/.config/emacs/lisp/evil-collection/modes/vterm/evil-collection-vterm.el
deleted file mode 100644
index d66dde8..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vterm/evil-collection-vterm.el
+++ /dev/null
@@ -1,308 +0,0 @@
-;;; evil-collection-vterm.el --- Bindings for `vterm' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2019 James Nguyen
-;; Copyright (C) 2020 Alex Griffin <a@ajgrf.com>
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, vterm, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `vterm'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'vterm nil t)
-
-(defconst evil-collection-vterm-maps '(vterm-mode-map))
-
-(declare-function vterm-goto-char "vterm")
-(declare-function vterm--get-prompt-point "vterm")
-(declare-function vterm--get-end-of-line "vterm")
-(declare-function vterm-delete-region "vterm")
-
-(defvar vterm--process)
-
-(defcustom evil-collection-vterm-move-cursor-back nil
- "Whether the cursor is moved backwards when exiting insert state."
- :type 'boolean
- :group 'vterm)
-
-(defun evil-collection-vterm-escape-stay ()
- "Go back to normal state but don't move cursor backwards.
-Moving cursor backwards is the default vim behavior but
-it is not appropriate in some cases like terminals."
- (setq-local evil-move-cursor-back
- evil-collection-vterm-move-cursor-back))
-
-(defvar-local evil-collection-vterm-send-escape-to-vterm-p nil
- "Track whether or not we send ESC to `vterm' or `emacs'.")
-
-(defun evil-collection-vterm-toggle-send-escape ()
- "Toggle where ESC is sent between `vterm' and `emacs'.
-
-This is needed for programs that use ESC, e.g. vim or an ssh'd emacs that
-also uses `evil-mode'."
- (interactive)
- (if evil-collection-vterm-send-escape-to-vterm-p
- (evil-collection-define-key 'insert 'vterm-mode-map (kbd "<escape>")
- (lookup-key evil-insert-state-map (kbd "<escape>")))
- (evil-collection-define-key 'insert 'vterm-mode-map
- (kbd "<escape>") 'vterm--self-insert))
- (setq evil-collection-vterm-send-escape-to-vterm-p
- (not evil-collection-vterm-send-escape-to-vterm-p))
- (message (format "Sending ESC to %s."
- (if evil-collection-vterm-send-escape-to-vterm-p
- "vterm"
- "emacs"))))
-
-(declare-function vterm-cursor-in-command-buffer-p "vterm")
-(declare-function vterm-beginning-of-line "vterm")
-(declare-function vterm-insert "vterm")
-
-(evil-define-motion evil-collection-vterm-first-non-blank ()
- "Move the cursor to the first non-blank character
-after the prompt."
- :type exclusive
- (if (vterm-cursor-in-command-buffer-p (point))
- (vterm-beginning-of-line)
- (evil-first-non-blank)))
-
-(defun evil-collection-vterm-insert ()
- "Insert character before cursor."
- (interactive)
- (vterm-goto-char (point))
- (call-interactively #'evil-insert))
-
-(defun evil-collection-vterm-insert-line ()
- "Insert character at beginning of prompt."
- (interactive)
- (vterm-goto-char (vterm--get-prompt-point))
- (call-interactively #'evil-insert))
-
-(defun evil-collection-vterm-append ()
- "Append character after cursor."
- (interactive)
- (vterm-goto-char (1+ (point)))
- (call-interactively #'evil-insert))
-
-(defun evil-collection-vterm-append-line ()
- "Append character at end-of-line."
- (interactive)
- (vterm-goto-char (vterm--get-end-of-line))
- (call-interactively #'evil-insert))
-
-(declare-function vterm-yank "vterm")
-
-(defun evil-collection-vterm-paste-after (&optional arg)
- (interactive "P")
- (vterm-goto-char (+ 1 (point)))
- (call-interactively #'vterm-yank arg))
-
-(declare-function vterm-reset-cursor-point "vterm")
-
-(evil-define-operator evil-collection-vterm-delete (beg end type register yank-handler)
- "Modification of evil-delete to work in vterm buffer.
-Delete text from BEG to END with TYPE.
-Save in REGISTER or in the kill-ring with YANK-HANDLER."
- (interactive "<R><x><y>")
- (let* ((beg (max (or beg (point)) (vterm--get-prompt-point)))
- (end (min (or end beg) (vterm--get-end-of-line))))
- (unless register
- (let ((text (filter-buffer-substring beg end)))
- (unless (string-match-p "\n" text)
- ;; set the small delete register
- (evil-set-register ?- text))))
- (let ((evil-was-yanked-without-register nil))
- (evil-yank beg end type register yank-handler))
- (cond
- ((eq type 'block)
- (evil-apply-on-block #'vterm-delete-region beg end nil))
- ((and (eq type 'line)
- (= end (point-max))
- (or (= beg end)
- (/= (char-before end) ?\n))
- (/= beg (point-min))
- (= (char-before beg) ?\n))
- (vterm-delete-region (1- beg) end))
- (t
- (vterm-delete-region beg end)))
- ;; place cursor on beginning of line
- (when (and (called-interactively-p 'any)
- (eq type 'line))
- (vterm-reset-cursor-point))))
-
-(evil-define-operator evil-collection-vterm-delete-backward-char (beg end type register)
- "Delete previous character."
- :motion evil-backward-char
- (interactive "<R><x>")
- (evil-collection-vterm-delete beg end type register))
-
-(evil-define-operator evil-collection-vterm-delete-char (beg end type register)
- "Delete current character."
- :motion evil-forward-char
- (interactive "<R><x>")
- (evil-collection-vterm-delete beg end type register))
-
-(evil-define-operator evil-collection-vterm-delete-line (beg end type register yank-handler)
- "Modification of evil-delete line to work in vterm bufer. Delete to end of line."
- :motion nil
- :keep-visual t
- (interactive "<R><x>")
- ;; act linewise in Visual state
- (let* ((beg (or beg (point)))
- (end (or end beg))
- (visual-line-mode (and evil-respect-visual-line-mode
- visual-line-mode))
- (line-end (if visual-line-mode
- (save-excursion
- (end-of-visual-line)
- (point))
- (line-end-position))))
- (when (evil-visual-state-p)
- (unless (memq type '(line screen-line block))
- (let ((range (evil-expand beg end
- (if visual-line-mode
- 'screen-line
- 'line))))
- (setq beg (evil-range-beginning range)
- end (evil-range-end range)
- type (evil-type range))))
- (evil-exit-visual-state))
- (cond
- ((eq type 'block)
- ;; equivalent to $d, i.e., we use the block-to-eol selection and
- ;; call `evil-collection-vterm-delete'. In this case we fake the call to
- ;; `evil-end-of-line' by setting `temporary-goal-column' and
- ;; `last-command' appropriately as `evil-end-of-line' would do.
- (let ((temporary-goal-column most-positive-fixnum)
- (last-command 'next-line))
- (evil-collection-vterm-delete beg end 'block register yank-handler)))
- ((memq type '(line screen-line))
- (evil-collection-vterm-delete beg end type register yank-handler))
- (t
- (evil-collection-vterm-delete beg line-end type register yank-handler)))))
-
-(evil-define-operator evil-collection-vterm-replace (beg end type register yank-handler)
- :motion evil-forward-char
- (interactive "<R>")
- (let ((replacement (make-string (- end beg) (read-char))))
- (evil-collection-vterm-delete beg end type register yank-handler)
- (vterm-insert replacement)
- (vterm-goto-char (1- end))))
-
-(evil-define-operator evil-collection-vterm-change (beg end type register yank-handler)
- (evil-collection-vterm-delete beg end type register yank-handler)
- (evil-collection-vterm-insert))
-
-(evil-define-operator evil-collection-vterm-change-line (beg end type register yank-handler)
- :motion evil-end-of-line-or-visual-line
- (evil-collection-vterm-delete-line beg end type register yank-handler)
- (evil-collection-vterm-insert))
-
-(evil-define-operator evil-collection-vterm-substitute (beg end type register)
- :motion evil-forward-char
- (interactive "<R><x>")
- (evil-collection-vterm-change beg end type register))
-
-(evil-define-operator evil-collection-vterm-substitute-line (beg end register yank-handler)
- :motion evil-line-or-visual-line
- :type line
- (interactive "<r><x>")
- (evil-collection-vterm-change beg end 'line register yank-handler))
-
-(evil-define-motion evil-collection-vterm-next-line (count)
- "Move the cursor COUNT lines down.
-But don't allow the cursor to move bellow the last prompt line."
- :type line
- ;; This successfully prevents the `j' button from moving to an empty line
- ;; bellow the last prompt. However, it still can be bugged for example by
- ;; going to the one line above the last prompt and doing `10j'.
- (when (> (count-words (point) (point-max)) 0)
- (evil-next-line count)))
-
-;;;###autoload
-(defun evil-collection-vterm-setup ()
- "Set up `evil' bindings for `vterm'."
- (evil-set-initial-state 'vterm-mode 'insert)
-
- (add-hook 'vterm-mode-hook #'evil-collection-vterm-escape-stay)
-
- ;; Open to a better binding...
- (evil-collection-define-key '(normal insert) 'vterm-mode-map
- (kbd "C-c C-z") 'evil-collection-vterm-toggle-send-escape)
-
- ;; Evil has some "C-" bindings in insert state that shadow regular terminal
- ;; bindings. Don't raw-send "C-c" (prefix key) nor "C-h" (help prefix).
- (evil-collection-define-key 'insert 'vterm-mode-map
- (kbd "C-a") 'vterm--self-insert
- (kbd "C-b") 'vterm--self-insert ; Should not be necessary.
- (kbd "C-d") 'vterm--self-insert
- (kbd "C-e") 'vterm--self-insert
- (kbd "C-f") 'vterm--self-insert ; Should not be necessary.
- (kbd "C-k") 'vterm--self-insert
- (kbd "C-l") 'vterm--self-insert ; Should not be necessary.
- (kbd "C-n") 'vterm--self-insert
- (kbd "C-o") 'vterm--self-insert
- (kbd "C-p") 'vterm--self-insert
- (kbd "C-q") 'vterm--self-insert ; Should not be necessary.
- (kbd "C-r") 'vterm--self-insert
- (kbd "C-s") 'vterm--self-insert ; Should not be necessary.
- (kbd "C-t") 'vterm--self-insert
- (kbd "C-u") 'vterm--self-insert ; Should not be necessary.
- (kbd "C-v") 'vterm--self-insert ; Should not be necessary.
- (kbd "C-w") 'vterm--self-insert
- (kbd "C-y") 'vterm--self-insert
- (kbd "C-z") 'vterm--self-insert
- (kbd "<delete>") 'vterm-send-delete)
-
- (let* ((submit evil-collection-repl-submit-state))
- (evil-collection-define-key submit 'vterm-mode-map
- (kbd "RET") 'vterm-send-return))
-
- (evil-collection-define-key 'normal 'vterm-mode-map
- "[[" 'vterm-previous-prompt
- "]]" 'vterm-next-prompt
- "p" 'evil-collection-vterm-paste-after
- "P" 'vterm-yank
- "a" 'evil-collection-vterm-append
- "A" 'evil-collection-vterm-append-line
- "d" 'evil-collection-vterm-delete
- "D" 'evil-collection-vterm-delete-line
- "x" 'evil-collection-vterm-delete-char
- "X" 'evil-collection-vterm-delete-backward-char
- "^" 'evil-collection-vterm-first-non-blank
- "i" 'evil-collection-vterm-insert
- "I" 'evil-collection-vterm-insert-line
- "u" 'vterm-undo
- "r" 'evil-collection-vterm-replace
- "c" 'evil-collection-vterm-change
- "C" 'evil-collection-vterm-change-line
- "s" 'evil-collection-vterm-substitute
- "S" 'evil-collection-vterm-substitute-line
- "j" 'evil-collection-vterm-next-line
- "G" 'vterm-reset-cursor-point)
-
- (evil-collection-define-key 'visual 'vterm-mode-map
- "d" 'evil-collection-vterm-delete
- "x" 'evil-collection-vterm-delete-backward-char))
-
-(provide 'evil-collection-vterm)
-;;; evil-collection-vterm.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/vundo/README.org b/.config/emacs/lisp/evil-collection/modes/vundo/README.org
deleted file mode 100644
index 04e505b..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vundo/README.org
+++ /dev/null
@@ -1,31 +0,0 @@
-* vundo
-
- Evil bindings for [[https://github.com/casouri/vundo][vundo]], visual undo tree.
-
- Upstream defaults to emacs state; evil-collection forces normal state on
- entry, hides the evil cursor, and disables =hl-line-mode= locally.
-
-** Key bindings
-
- | Command | Original | Evil |
- |---------------------+--------------+--------------------------------|
- | =vundo-forward= | =f=, =right= | =l=, =C-f=, =right= |
- | =vundo-backward= | =b=, =left= | =h=, =C-b=, =left=, =DEL= |
- | =vundo-next= | =n= | =j=, =C-n=, =C-j=, =M-j= |
- | =vundo-previous= | =p= | =k=, =C-p=, =C-k=, =M-k= |
- | =vundo-stem-root= | =a= | =H= (evil-window-top remap) |
- | =vundo-stem-end= | =e= | =L= (evil-window-bottom remap) |
- | =vundo-next-root= | =w= | =w= |
- | =vundo-confirm= | =RET= | =RET=, =ZZ= |
- | =vundo-quit= | =q=, =C-g= | =q=, =ZQ= |
- | =vundo-diff= | =d= | =d= |
- | =vundo-diff-mark= | =m= | =m= |
- | =vundo-diff-unmark= | =u= | =u= |
- | =vundo--inspect= | =i= | =i= |
- | =vundo--debug= | =D= | =D= |
-
- Direction keys are wired via =[remap]= against the corresponding evil
- motion command (=evil-backward-char=, =evil-forward-char=, etc.) so they
- follow any user rebinding of those motions. =vundo-goto-last-saved= (=l=
- upstream) and =vundo-goto-next-saved= (=r= upstream) are shadowed by the
- evil motion remaps; call them via =M-x= if needed.
diff --git a/.config/emacs/lisp/evil-collection/modes/vundo/evil-collection-vundo.el b/.config/emacs/lisp/evil-collection/modes/vundo/evil-collection-vundo.el
deleted file mode 100644
index e02c110..0000000
--- a/.config/emacs/lisp/evil-collection/modes/vundo/evil-collection-vundo.el
+++ /dev/null
@@ -1,93 +0,0 @@
-;;; evil-collection-vundo.el --- Bindings for `vundo-mode' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, vundo, convenience
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `vundo-mode'.
-
-;;; Code:
-(require 'vundo nil t)
-(require 'evil-collection)
-
-(defgroup evil-collection-vundo nil
- "Evil bindings for `vundo-mode'."
- :group 'evil-collection)
-
-(defvar vundo-mode-map)
-
-(defconst evil-collection-vundo-maps '(vundo-mode-map))
-
-(defun evil-collection-vundo--hide-evil-cursor ()
- "Hide the evil cursor."
- (setq-local evil-default-cursor '(nil))
- (setq-local evil-motion-state-cursor nil)
- (setq-local evil-visual-state-cursor nil)
- (setq-local evil-normal-state-cursor nil)
- (setq-local evil-insert-state-cursor nil)
- (setq-local evil-emacs-state-cursor nil))
-
-(defun evil-collection-vundo--disable-hl-line-mode ()
- "Disable `hl-line-mode'."
- (setq-local global-hl-line-mode nil))
-
-;;;###autoload
-(defun evil-collection-vundo-setup ()
- "Set up `evil' bindings for `vundo'."
- (add-hook 'vundo-mode-hook #'evil-normalize-keymaps)
- ;; `vundo' defaults to emacs state.
- (add-hook 'vundo-mode-hook #'evil-normal-state)
- ;; hide evil cursor
- (add-hook 'vundo-mode-hook #'evil-collection-vundo--hide-evil-cursor)
- ;; disable hl-line-mode
- (add-hook 'vundo-mode-hook #'evil-collection-vundo--disable-hl-line-mode)
-
- (evil-collection-define-key 'normal 'vundo-mode-map
- [remap evil-backward-char] 'vundo-backward
- [remap evil-forward-char] 'vundo-forward
- [remap evil-next-line] 'vundo-next
- [remap evil-previous-line] 'vundo-previous
- [remap evil-window-top] 'vundo-stem-root
- [remap evil-window-bottom] 'vundo-stem-end
- [remap evil-ret] 'vundo-confirm
- [remap evil-quit] 'vundo-quit
- [remap evil-save-and-close] 'vundo-confirm
- [remap evil-save-modified-and-close] 'vundo-confirm
- [remap evil-delete-backward-char] 'vundo-backward
- (kbd "C-n") 'vundo-next
- (kbd "C-p") 'vundo-previous
- (kbd "C-j") 'vundo-next
- (kbd "C-k") 'vundo-previous
- (kbd "M-j") 'vundo-next
- (kbd "M-k") 'vundo-previous
- "i" 'vundo--inspect
- "D" 'vundo--debug
- "d" 'vundo-diff
- "m" 'vundo-diff-mark
- "u" 'vundo-diff-unmark
- "w" 'vundo-next-root
- "q" 'vundo-quit
- "ZZ" 'vundo-quit
- "ZQ" 'vundo-quit))
-
-(provide 'evil-collection-vundo)
-;;; evil-collection-vundo.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/w3m/evil-collection-w3m.el b/.config/emacs/lisp/evil-collection/modes/w3m/evil-collection-w3m.el
deleted file mode 100644
index ecdff0d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/w3m/evil-collection-w3m.el
+++ /dev/null
@@ -1,87 +0,0 @@
-;;; evil-collection-w3m.el --- Evil bindings for w3m -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, w3m, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `w3m'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'w3m nil t)
-
-(defconst evil-collection-w3m-maps '(w3m-mode-map))
-
-;;;###autoload
-(defun evil-collection-w3m-setup ()
- "Set up `evil' bindings for `w3m'."
- (evil-set-initial-state 'w3m-mode 'normal)
- (evil-collection-define-key 'normal 'w3m-mode-map
- (kbd "S-SPC") 'w3m-scroll-down-or-previous-url
- (kbd "SPC") 'w3m-scroll-up-or-next-url
-
- (kbd "RET") 'w3m-view-this-url
- "o" 'w3m-goto-url
- "O" 'w3m-goto-url-new-session
-
- "]]" 'w3m-next-form
- "[[" 'w3m-previous-form
-
- "H" 'w3m-view-previous-page
- "L" 'w3m-view-next-page
- "^" 'w3m-view-parent-page
-
- "gf" 'w3m-view-source
- "gh" 'w3m-view-header
-
- "d" 'w3m-download-this-url
- "M-d" 'w3m-download
-
- "I" 'w3m-view-image
- "M-i" 'w3m-save-image
- "zi" 'w3m-toggle-inline-image
- "zI" 'w3m-toggle-inline-images
- "M-T" 'w3m-turnoff-inline-images
-
- ;; bookmarks
- "gb" 'w3m-bookmark-view
- "gB" 'w3m-bookmark-view-new-session
- "a" 'w3m-bookmark-add-current-url
-
- ;; refresh
- "gr" 'w3m-reload-this-page
- "gR" 'w3m-reload-all-pages
-
- ;; quit
- "q" 'w3m-close-window
- "ZQ" 'w3m-quit
- "ZZ" 'quit-window)
-
- (evil-collection-define-operator-key 'yank 'w3m-mode-map
- ;; yt
- "t" 'w3m-print-this-url
- ;; yu
- "u" 'w3m-print-current-url))
-
-(provide 'evil-collection-w3m)
-;;; evil-collection-w3m.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/wdired/README.org b/.config/emacs/lisp/evil-collection/modes/wdired/README.org
deleted file mode 100644
index 9a16e3d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/wdired/README.org
+++ /dev/null
@@ -1,14 +0,0 @@
-* wdired
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Wdired.html][Wdired]] (writable Dired).
-
-** Key bindings
-
- | Command | Original | Evil |
- |------------------------+-----------+------------|
- | =wdired-finish-edit= | =C-c C-c= | =ZZ=, =:w= |
- | =wdired-abort-changes= | =C-c C-k= | =ZQ= |
- | =wdired-exit= | =C-x C-q= | =<escape>= |
-
- =wdired-finish-edit= is also bound to =[remap evil-write]= so =:w= commits
- the rename. Initial state in wdired-mode is normal.
diff --git a/.config/emacs/lisp/evil-collection/modes/wdired/evil-collection-wdired.el b/.config/emacs/lisp/evil-collection/modes/wdired/evil-collection-wdired.el
deleted file mode 100644
index e968b1e..0000000
--- a/.config/emacs/lisp/evil-collection/modes/wdired/evil-collection-wdired.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-wdired.el --- Bindings for `wdired' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `wdired'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'wdired)
-
-(defconst evil-collection-wdired-maps '(wdired-mode-map))
-
-;;;###autoload
-(defun evil-collection-wdired-setup ()
- "Set up `evil' bindings for `wdired'."
- (evil-set-initial-state 'wdired-mode 'normal)
-
- (evil-collection-define-key nil 'wdired-mode-map
- [remap evil-write] 'wdired-finish-edit)
-
- (evil-collection-define-key 'normal 'wdired-mode-map
- "ZQ" 'wdired-abort-changes
- "ZZ" 'wdired-finish-edit
- (kbd "<escape>") 'wdired-exit))
-
-(provide 'evil-collection-wdired)
-;;; evil-collection-wdired.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/wgrep/README.org b/.config/emacs/lisp/evil-collection/modes/wgrep/README.org
deleted file mode 100644
index ca985ae..0000000
--- a/.config/emacs/lisp/evil-collection/modes/wgrep/README.org
+++ /dev/null
@@ -1,19 +0,0 @@
-* wgrep
-
- Evil bindings for [[https://github.com/mhayashi1120/Emacs-wgrep][wgrep]] (writable grep buffers).
-
- Upstream only binds finish / abort / toggle commands under =C-c= and
- =C-x= prefixes. evil-collection layers the usual evil quit-and-save
- bindings on top and remaps =evil-write= to finish the edit.
-
-** Key bindings
-
- | Command | Original | Evil |
- |------------------------------+---------------------------------+------------|
- | =wgrep-finish-edit= | =C-c C-c=, =C-c C-e=, =C-x C-s= | =ZZ=, =:w= |
- | =wgrep-abort-changes= | =C-c C-k= | =ZQ= |
- | =wgrep-exit= | =C-x C-q= | =<escape>= |
- | =wgrep-mark-deletion= | =C-c C-d= | =C-c C-d= |
- | =wgrep-remove-change= | =C-c C-r= | =C-c C-r= |
- | =wgrep-remove-all-change= | =C-c C-u= | =C-c C-u= |
- | =wgrep-toggle-readonly-area= | =C-c C-p= | =C-c C-p= |
diff --git a/.config/emacs/lisp/evil-collection/modes/wgrep/evil-collection-wgrep.el b/.config/emacs/lisp/evil-collection/modes/wgrep/evil-collection-wgrep.el
deleted file mode 100644
index fd4d73a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/wgrep/evil-collection-wgrep.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-wgrep.el --- Bindings for `wgrep' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `wgrep'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'wgrep nil t)
-
-(defvar wgrep-mode-map)
-
-(defconst evil-collection-wgrep-maps '(wgrep-mode-map))
-
-;;;###autoload
-(defun evil-collection-wgrep-setup ()
- "Set up `evil' bindings for `wgrep'."
- (evil-collection-define-key nil 'wgrep-mode-map
- [remap evil-write] 'wgrep-finish-edit)
-
- (evil-collection-define-key 'normal 'wgrep-mode-map
- "ZQ" 'wgrep-abort-changes
- "ZZ" 'wgrep-finish-edit
- (kbd "<escape>") 'wgrep-exit))
-
-(provide 'evil-collection-wgrep)
-;;; evil-collection-wgrep.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/which-key/README.org b/.config/emacs/lisp/evil-collection/modes/which-key/README.org
deleted file mode 100644
index 17dd24a..0000000
--- a/.config/emacs/lisp/evil-collection/modes/which-key/README.org
+++ /dev/null
@@ -1,17 +0,0 @@
-* which-key
-
- Evil bindings for [[https://github.com/justbur/emacs-which-key][which-key]] paging popup.
-
- Only =which-key-C-h-map= (the paging popup invoked from inside a prefix)
- is modified; the global which-key triggers themselves are untouched.
-
-** Key bindings
-
- | Command | Original | Evil |
- |--------------------------------------+------------+------------|
- | =which-key-abort= | =a=, =C-a= | =q= |
- | =which-key-show-next-page-cycle= | =n=, =C-n= | =j=, =C-n= |
- | =which-key-show-previous-page-cycle= | =p=, =C-p= | =k=, =C-p= |
- | =which-key-show-standard-help= | =h=, =C-h= | =?=, =C-h= |
- | =which-key-undo-key= | =u=, =C-u= | =u=, =C-u= |
- | =which-key-toggle-docstrings= | =d=, =C-d= | =d=, =C-d= |
diff --git a/.config/emacs/lisp/evil-collection/modes/which-key/evil-collection-which-key.el b/.config/emacs/lisp/evil-collection/modes/which-key/evil-collection-which-key.el
deleted file mode 100644
index e0b8b9d..0000000
--- a/.config/emacs/lisp/evil-collection/modes/which-key/evil-collection-which-key.el
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; evil-collection-which-key.el --- Evil bindings for which-key -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Maximiliano Sandoval <msandova@protonmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, which-key, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `which-key'
-
-;;; Code:
-
-(require 'evil-collection)
-(require 'which-key nil t)
-
-(defvar which-key-C-h-map)
-
-(defconst evil-collection-which-key-maps '(which-key-C-h-map))
-
-;; `which-key'is coded so that the prompt properly shows j and k as
-;; the bindings.
-;;;###autoload
-(defun evil-collection-which-key-setup ()
- "Set up `evil' bindings for `which-key'."
-
- ;; (evil-collection-define-key nil 'which-key-C-h-map "u" 'which-key-undo-key)
- (evil-collection-define-key nil 'which-key-C-h-map
- "q" 'which-key-abort
- "j" 'which-key-show-next-page-cycle
- "k" 'which-key-show-previous-page-cycle
- "?" 'which-key-show-standard-help))
-
-(provide 'evil-collection-which-key)
-;;; evil-collection-which-key.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/with-editor/README.org b/.config/emacs/lisp/evil-collection/modes/with-editor/README.org
deleted file mode 100644
index 7007a69..0000000
--- a/.config/emacs/lisp/evil-collection/modes/with-editor/README.org
+++ /dev/null
@@ -1,17 +0,0 @@
-* with-editor
-
- Evil bindings for [[https://github.com/magit/with-editor][with-editor]], used for editing git commit messages
- and similar =$EDITOR= sessions inside Emacs.
-
- Upstream already remaps =evil-quit=, =evil-save-and-close= and
- =evil-save-modified-and-close= to =with-editor-cancel= /
- =with-editor-finish=, so =:q=, =:wq= and =ZZ=/=ZQ= work out of the box.
- evil-collection adds explicit normal-state =ZQ= and =ZZ= so they are
- not subject to evil's save-modified semantics.
-
-** with-editor-mode-map (normal state)
-
- | Command | Original | Evil |
- |----------------------+-----------+------|
- | =with-editor-cancel= | =C-c C-k= | =ZQ= |
- | =with-editor-finish= | =C-c C-c= | =ZZ= |
diff --git a/.config/emacs/lisp/evil-collection/modes/with-editor/evil-collection-with-editor.el b/.config/emacs/lisp/evil-collection/modes/with-editor/evil-collection-with-editor.el
deleted file mode 100644
index 91199a1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/with-editor/evil-collection-with-editor.el
+++ /dev/null
@@ -1,45 +0,0 @@
-;;; evil-collection-with-editor.el --- Bindings for `with-editor' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2024 Tianshu Wang
-
-;; Author: Tianshu Wang <dev@wang.tianshu.me>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Bindings for `with-editor'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'with-editor nil t)
-
-(defvar with-editor-mode-map)
-
-(defconst evil-collection-with-editor-maps '(with-editor-mode-map))
-
-;;;###autoload
-(defun evil-collection-with-editor-setup ()
- "Set up `evil' bindings for `with-editor'."
- (evil-collection-define-key 'normal 'with-editor-mode-map
- "ZQ" 'with-editor-cancel
- "ZZ" 'with-editor-finish))
-
-(provide 'evil-collection-with-editor)
-;;; evil-collection-with-editor.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/woman/README.org b/.config/emacs/lisp/evil-collection/modes/woman/README.org
deleted file mode 100644
index c929d47..0000000
--- a/.config/emacs/lisp/evil-collection/modes/woman/README.org
+++ /dev/null
@@ -1,13 +0,0 @@
-* woman
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/woman/index.html][WoMan]] (manpage viewer, no external tools).
-
-** Key bindings
-
- | Command | Original | Evil |
- |----------------------------+----------+------|
- | =WoMan-next-manpage= | =n= | =]]= |
- | =WoMan-previous-manpage= | =p= | =[[= |
- | =woman-reformat-last-file= | =R= | =gr= |
-
- Standard motion / quit bindings are inherited from =evil-collection-man=.
diff --git a/.config/emacs/lisp/evil-collection/modes/woman/evil-collection-woman.el b/.config/emacs/lisp/evil-collection/modes/woman/evil-collection-woman.el
deleted file mode 100644
index d7e889c..0000000
--- a/.config/emacs/lisp/evil-collection/modes/woman/evil-collection-woman.el
+++ /dev/null
@@ -1,51 +0,0 @@
-;;; evil-collection-woman.el --- Evil bindings for WoMan -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, woman, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `woman'.
-
-;;; Code:
-(require 'evil-collection)
-(evil-collection-require 'man)
-(require 'woman)
-
-(defconst evil-collection-woman-maps '(woman-mode-map))
-
-;;;###autoload
-(defun evil-collection-woman-setup ()
- "Set up `evil' bindings for `woman'."
- (evil-set-initial-state 'woman-mode 'normal)
- (evil-collection-define-key 'normal 'woman-mode-map
- (kbd "]]") 'WoMan-next-manpage
- (kbd "[[") 'WoMan-previous-manpage
-
- ;; goto
- ;; "gm" 'woman
-
- ;; refresh
- "gr" 'woman-reformat-last-file))
-
-(provide 'evil-collection-woman)
-;;; evil-collection-woman.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/xref/README.org b/.config/emacs/lisp/evil-collection/modes/xref/README.org
deleted file mode 100644
index 36e32c9..0000000
--- a/.config/emacs/lisp/evil-collection/modes/xref/README.org
+++ /dev/null
@@ -1,26 +0,0 @@
-* xref
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Xref.html][xref]].
-
-** xref--xref-buffer-mode-map
-
- | Command | Original | Evil |
- |----------------------------------+----------+--------------------------|
- | =xref-next-line= | =n=, =.= | =gj=, =C-j=, =C-n=, =]]= |
- | =xref-prev-line= | =p=, =,= | =gk=, =C-k=, =C-p=, =[[= |
- | #ERROR | =N= | =]]= |
- | =xref-prev-group= (Emacs 28+) | =P= | =[[= |
- | =xref-query-replace-in-results= | =r= | =r=, =Q= |
- | =xref-goto-xref= | =RET= | =RET= |
- | =xref-quit-and-goto-xref= | =TAB= | =S-RET= |
- | =xref-show-location-at-point= | =C-o= | =o=, =go= |
- | =xref-revert-buffer= (Emacs 27+) | n/a | =gr= |
- #+TBLFM: $1=xref-next-group= (Emacs 28+)
-
-** xref--transient-buffer-mode-map
-
- (Emacs 27+)
-
- | Command | Original | Evil |
- |---------------------------+--------------+-------|
- | =xref-quit-and-goto-xref= | =RET=, =TAB= | =RET= |
diff --git a/.config/emacs/lisp/evil-collection/modes/xref/evil-collection-xref.el b/.config/emacs/lisp/evil-collection/modes/xref/evil-collection-xref.el
deleted file mode 100644
index 1c9ea17..0000000
--- a/.config/emacs/lisp/evil-collection/modes/xref/evil-collection-xref.el
+++ /dev/null
@@ -1,76 +0,0 @@
-;;; evil-collection-xref.el --- Evil bindings for xref -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017, 2021 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, xref, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for `xref'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'xref)
-
-(defconst evil-collection-xref-maps `(xref--xref-buffer-mode-map
- ,@(when (>= emacs-major-version 27) '(xref--transient-buffer-mode-map))))
-
-;;;###autoload
-(defun evil-collection-xref-setup ()
- "Set up `evil' bindings for `xref'."
- (evil-set-initial-state 'xref--xref-buffer-mode 'normal)
- (evil-collection-set-readonly-bindings 'xref--xref-buffer-mode-map)
- (evil-collection-define-key 'normal 'xref--xref-buffer-mode-map
- "gj" 'xref-next-line
- "gk" 'xref-prev-line
- (kbd "C-j") 'xref-next-line
- (kbd "C-k") 'xref-prev-line
- (kbd "C-n") 'xref-next-line
- (kbd "C-p") 'xref-prev-line
- "]]" 'xref-next-line
- "[[" 'xref-prev-line
- "r" 'xref-query-replace-in-results
-
- ;; Match `dired''s `dired-do-find-regexp-and-replace'.
- "Q" 'xref-query-replace-in-results
-
- ;; open
- (kbd "RET") 'xref-goto-xref
- (kbd "S-<return>") 'xref-quit-and-goto-xref ;; In Emacs mode map, TAB binds to `xref-quit-and-goto-xref'
- "o" 'xref-show-location-at-point
- "go" 'xref-show-location-at-point)
-
- (when (>= emacs-major-version 27)
- (evil-collection-define-key 'normal 'xref--xref-buffer-mode-map
- "gr" 'xref-revert-buffer))
-
- (when (>= emacs-major-version 28)
- (evil-collection-define-key 'normal 'xref--xref-buffer-mode-map
- "[[" 'xref-prev-group
- "]]" 'xref-next-group))
-
- (when (>= emacs-major-version 27)
- (evil-set-initial-state 'xref--transient-buffer-mode 'normal)
- (evil-collection-define-key 'normal 'xref--transient-buffer-mode-map
- (kbd "RET") 'xref-quit-and-goto-xref)))
-
-(provide 'evil-collection-xref)
-;;; evil-collection-xref.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/xwidget/README.org b/.config/emacs/lisp/evil-collection/modes/xwidget/README.org
deleted file mode 100644
index 5825785..0000000
--- a/.config/emacs/lisp/evil-collection/modes/xwidget/README.org
+++ /dev/null
@@ -1,43 +0,0 @@
-* xwidget
-
- Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Embedded-WebKit-Widgets.html][xwidget-webkit]], modeled after vimium.
-
-** Key bindings
-
- Standard read-only motion / quit bindings come from
- =evil-collection-set-readonly-bindings=.
-
- | Command | Original | Evil |
- |--------------------------------------------------+----------+----------------|
- | =xwidget-webkit-scroll-up-line= | =C-n= | =j= |
- | =xwidget-webkit-scroll-down-line= | =C-p= | =k= |
- | =xwidget-webkit-scroll-top= | =M-<= | =gg= |
- | =xwidget-webkit-scroll-bottom= | =M->= | =G= |
- | =xwidget-webkit-scroll-backward= | =B= | =h= |
- | =xwidget-webkit-scroll-forward= | =F= | =l= |
- | =xwidget-webkit-scroll-up= | =SPC= | =C-f= |
- | =xwidget-webkit-scroll-down= | =S-SPC= | =C-b= |
- | =xwidget-webkit-back= | =r= | =H=, =<= |
- | =xwidget-webkit-forward= | =R= | =L=, =>= |
- | =xwidget-webkit-reload= | =g= | =r=, =gr= |
- | =xwidget-webkit-current-url= | =u= | =yy= |
- | =xwidget-webkit-browse-url= | =a= | =o=, =gu=, =J= |
- | =xwidget-webkit-copy-selection-as-kill= (visual) | =w= | =y= |
- | =xwidget-webkit-insert-string= | =i= | =RET= |
- | =xwidget-webkit-zoom-in= | =+= | =+=, === |
- | =xwidget-webkit-zoom-out= | =-= | =-= |
- | =describe-mode= | =C-h m= | =?= |
-
-** New commands
-
- | Command | Key | Notes |
- |----------------------------------------------------------+-----------+--------------------------------|
- | =evil-collection-xwidget-webkit-scroll-half-page-up= | =d= | half-page down (vim semantics) |
- | =evil-collection-xwidget-webkit-scroll-half-page-down= | =u= | half-page up (vim semantics) |
- | =evil-collection-xwidget-webkit-new-tab= | =t= | prompt URL in new buffer |
- | =evil-collection-xwidget-webkit-close-tab= | =x= | kill current buffer |
- | =evil-collection-xwidget-webkit-restore-last-closed-tab= | =X= | reopen last closed |
- | =evil-collection-xwidget-webkit-search-tabs= | =T=, =gt= | switch via =completing-read= |
-
- When =evil-want-C-d-scroll= / =evil-want-C-u-scroll= are non-nil, =C-d= and
- =C-u= scroll the page.
diff --git a/.config/emacs/lisp/evil-collection/modes/xwidget/evil-collection-xwidget.el b/.config/emacs/lisp/evil-collection/modes/xwidget/evil-collection-xwidget.el
deleted file mode 100644
index ab197f1..0000000
--- a/.config/emacs/lisp/evil-collection/modes/xwidget/evil-collection-xwidget.el
+++ /dev/null
@@ -1,184 +0,0 @@
-;;; evil-collection-xwidget.el --- Evil bindings for Xwidget -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020, 2022, 2024 Ruslan Kamashev
-
-;; Author: Ruslan Kamashev <rynffoll@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, xwidget, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for Xwidget.
-
-;;; Code:
-(require 'xwidget)
-(require 'evil-collection)
-
-(defvar evil-collection-xwidget-maps '(xwidget-webkit-mode-map))
-
-;; Silence compile errors
-(declare-function xwidget-webkit-uri "xwidget")
-(declare-function xwidget-window-inside-pixel-height "xwidget")
-
-;; HACK: elisp byte-opt can't optimize 'format' out, so it's checked at runtime.
-(defun evil-collection-xwidget-webkit--scroll-trampoline (f n)
- "Compatible wrapper for `xwidget-webkit-scroll-up' and so on.
-
-F is the name of function, N is the pixel height."
- (let ((realf (intern (format "%s" f))))
- (if (>= emacs-major-version 28)
- (funcall realf n)
- (funcall realf))))
-
-(defun evil-collection-xwidget-webkit-scroll-half-page-up ()
- "Compatible wrapper for `xwidget-webkit-scroll-up'."
- (interactive)
- (evil-collection-xwidget-webkit--scroll-trampoline
- "xwidget-webkit-scroll-up"
- (/ (xwidget-window-inside-pixel-height (selected-window)) 2)))
-
-(defun evil-collection-xwidget-webkit-scroll-half-page-down ()
- "Compatible wrapper for `xwidget-webkit-scroll-down'."
- (interactive)
- (evil-collection-xwidget-webkit--scroll-trampoline
- "xwidget-webkit-scroll-down"
- (/ (xwidget-window-inside-pixel-height (selected-window)) 2)))
-
-(defun evil-collection-xwidget-webkit-new-tab (url)
- "New tab (new buffer) of URL."
- (interactive "s(New Tab) xwidget-webkit URL: ")
- (xwidget-webkit-browse-url url :new-session))
-
-(defvar evil-collection-xwidget-webkit-last-closed-tab-url nil)
-(defun evil-collection-xwidget-webkit-close-tab ()
- "Close tab (kill buffer) without confirmation."
- (interactive)
- (setq evil-collection-xwidget-webkit-last-closed-tab-url
- (xwidget-webkit-uri (xwidget-webkit-current-session)))
- (let ((kill-buffer-query-functions nil))
- (kill-current-buffer)))
-
-(defun evil-collection-xwidget-webkit-restore-last-closed-tab ()
- "Restore last closed tab."
- (interactive)
- (if (null evil-collection-xwidget-webkit-last-closed-tab-url)
- (message "No url to restore.")
- (message (format "Restoring last closed tab %s"
- evil-collection-xwidget-webkit-last-closed-tab-url))
- (xwidget-webkit-browse-url
- evil-collection-xwidget-webkit-last-closed-tab-url :new-session)
- (setq evil-collection-xwidget-webkit-last-closed-tab-url nil)))
-
-(defun evil-collection-xwidget-webkit-search-tabs ()
- "Search tabs (buffers) with `buffer-name'."
- (interactive)
- (cl-flet ((is-xwidget-webkit-buffer?
- (b) (with-current-buffer b
- (equal major-mode 'xwidget-webkit-mode))))
- (let ((bufs (cl-loop for b in (buffer-list)
- when (is-xwidget-webkit-buffer? b)
- collect (buffer-name b))))
- (switch-to-buffer (completing-read "Switch to Tab: " bufs nil t)))))
-
-;;;###autoload
-(defun evil-collection-xwidget-setup ()
- "Set up `evil' bindings for `xwidget'."
- (evil-collection-set-readonly-bindings 'xwidget-webkit-mode-map)
-
- (evil-collection-define-key 'visual 'xwidget-webkit-mode-map
- "y" 'xwidget-webkit-copy-selection-as-kill)
-
- (evil-collection-define-key 'normal 'xwidget-webkit-mode-map
- ;; Mimic vimium (a browser extension)
- ;;
- ;; Since xwidget has no tab concept, `open-url-new-tab' etc are not
- ;; supported.
- ;;
- ;; TODO: edit-mode, visual-mode
- ;;
- ;; Navigating the page
- "j" 'xwidget-webkit-scroll-up-line
- "k" 'xwidget-webkit-scroll-down-line
- "gg" 'xwidget-webkit-scroll-top
- "G" 'xwidget-webkit-scroll-bottom
- "d" 'evil-collection-xwidget-webkit-scroll-half-page-up
- "u" 'evil-collection-xwidget-webkit-scroll-half-page-down
- "h" 'xwidget-webkit-scroll-backward
- "l" 'xwidget-webkit-scroll-forward
- "r" 'xwidget-webkit-reload
- "yy" 'xwidget-webkit-current-url
- ;; TODO `first-text-input', `open-link-in-current-tab'
- "gi" 'undefined
- "f" 'undefined
-
- ;; Using the vomnibar
- ;;
- ;; For bookmark, use C-x r m, C-x r j.
- "o" 'xwidget-webkit-browse-url
- "T" 'evil-collection-xwidget-webkit-search-tabs
-
- ;; Using find
- ;;
- ;; TODO
-
- ;; Navigating history
- "H" 'xwidget-webkit-back
- "L" 'xwidget-webkit-forward
-
- ;; Manipulating tabs (actually buffers)
- ;;
- ;; Only `new-tab' and `close-tab' are supported.
- "t" 'evil-collection-xwidget-webkit-new-tab
- "x" 'evil-collection-xwidget-webkit-close-tab
- "X" 'evil-collection-xwidget-webkit-restore-last-closed-tab
-
- ;; Miscellaneous
- "?" 'describe-mode
-
- ;; Evil style
-
- "<" 'xwidget-webkit-back
- ">" 'xwidget-webkit-forward
-
- ;; Additional bindings to browse url.
- "gu" 'xwidget-webkit-browse-url
- "J" 'xwidget-webkit-browse-url
-
- ;; Additional binding to browse tabs.
- "gt" 'evil-collection-xwidget-webkit-search-tabs
-
- "gr" 'xwidget-webkit-reload
- (kbd "C-f") 'xwidget-webkit-scroll-up
- (kbd "C-b") 'xwidget-webkit-scroll-down
- (kbd "RET") 'xwidget-webkit-insert-string
-
- ;; zoom
- "+" 'xwidget-webkit-zoom-in
- "=" 'xwidget-webkit-zoom-in
- "-" 'xwidget-webkit-zoom-out)
-
- (when evil-want-C-d-scroll
- (evil-collection-define-key 'normal 'xwidget-webkit-mode-map
- (kbd "C-d") 'xwidget-webkit-scroll-up))
- (when evil-want-C-u-scroll
- (evil-collection-define-key 'normal 'xwidget-webkit-mode-map
- (kbd "C-u") 'xwidget-webkit-scroll-down)))
-
-(provide 'evil-collection-xwidget)
-;;; evil-collection-xwidget.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/yaml-mode/README.org b/.config/emacs/lisp/evil-collection/modes/yaml-mode/README.org
deleted file mode 100644
index 33d13ad..0000000
--- a/.config/emacs/lisp/evil-collection/modes/yaml-mode/README.org
+++ /dev/null
@@ -1,15 +0,0 @@
-* yaml-mode
-
- Evil setup for [[https://github.com/yoshiki/yaml-mode][yaml-mode]].
-
- No keys are rebound. =evil-shift-width= is set buffer-locally to
- =yaml-indent-offset= so that =>>= / =<<= produce indentation that
- matches yaml-mode's own electric keys.
-
-** New commands
-
- | Command | Purpose |
- |--------------------------------------------------+-------------------------------------------------|
- | =evil-collection-yaml-mode-set-evil-shift-width= | Set =evil-shift-width= to =yaml-indent-offset=. |
-
- Installed on =yaml-mode-hook=.
diff --git a/.config/emacs/lisp/evil-collection/modes/yaml-mode/evil-collection-yaml-mode.el b/.config/emacs/lisp/evil-collection/modes/yaml-mode/evil-collection-yaml-mode.el
deleted file mode 100644
index 3bf6667..0000000
--- a/.config/emacs/lisp/evil-collection/modes/yaml-mode/evil-collection-yaml-mode.el
+++ /dev/null
@@ -1,42 +0,0 @@
-;;; evil-collection-yaml-mode.el --- Bindings for `yaml-mode' -*- lexical-binding: t -*-
-
-;; Author: Frédéric Giquel
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: emacs, tools, yaml
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for `yaml-mode'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'yaml-mode nil t)
-
-(defconst evil-collection-yaml-mode-maps nil)
-
-(defvar yaml-indent-offset)
-(defun evil-collection-yaml-mode-set-evil-shift-width ()
- "Set `evil-shift-width' according to `yaml-indent-offset'."
- (setq-local evil-shift-width yaml-indent-offset))
-
-;;;###autoload
-(defun evil-collection-yaml-mode-setup ()
- "Set up `evil' bindings for `yaml'."
- (add-hook 'yaml-mode-hook #'evil-collection-yaml-mode-set-evil-shift-width))
-
-(provide 'evil-collection-yaml-mode)
-;;; evil-collection-yaml-mode.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/youtube-dl/evil-collection-youtube-dl.el b/.config/emacs/lisp/evil-collection/modes/youtube-dl/evil-collection-youtube-dl.el
deleted file mode 100644
index d9337ca..0000000
--- a/.config/emacs/lisp/evil-collection/modes/youtube-dl/evil-collection-youtube-dl.el
+++ /dev/null
@@ -1,67 +0,0 @@
-;;; evil-collection-youtube-dl.el --- Evil bindings for youtube-dl -*- lexical-binding: t -*-
-
-;; Copyright (C) 2018 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>, Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, youtube, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for youtube-dl.
-
-;;; Code:
-(require 'evil-collection)
-(require 'youtube-dl nil t)
-
-(defvar youtube-dl-list-mode-map)
-
-(defconst evil-collection-youtube-dl-maps '(youtube-dl-list-mode-map))
-
-;;;###autoload
-(defun evil-collection-youtube-dl-setup ()
- "Set up `evil' bindings for `youtube-dl'."
-
- (evil-collection-set-readonly-bindings 'youtube-dl-list-mode-map)
- (evil-collection-define-key 'normal 'youtube-dl-list-mode-map
- (kbd "S-SPC") 'scroll-down-command
-
- "gr" 'youtube-dl-list-redisplay
-
- "g?" 'describe-mode
-
- "p" 'youtube-dl-list-toggle-pause
- "s" 'youtube-dl-list-toggle-slow
- "S" 'youtube-dl-list-toggle-slow-all
- "y" 'youtube-dl-list-yank
-
- "i" 'youtube-dl-list-log
- "I" 'youtube-dl-list-kill-log
-
- "a" 'youtube-dl
- "d" 'youtube-dl-list-kill
-
- "[[" 'youtube-dl-list-priority-down
- "]]" 'youtube-dl-list-priority-up
- "gj" 'youtube-dl-list-priority-down
- "gk" 'youtube-dl-list-priority-up
- (kbd "C-j") 'youtube-dl-list-priority-down
- (kbd "C-k") 'youtube-dl-list-priority-up))
-
-(provide 'evil-collection-youtube-dl)
-;;; evil-collection-youtube-dl.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/zmusic/evil-collection-zmusic.el b/.config/emacs/lisp/evil-collection/modes/zmusic/evil-collection-zmusic.el
deleted file mode 100644
index 4fb06a8..0000000
--- a/.config/emacs/lisp/evil-collection/modes/zmusic/evil-collection-zmusic.el
+++ /dev/null
@@ -1,49 +0,0 @@
-;;; evil-collection-zmusic.el --- Bindings for `zmusic' -*- lexical-binding: t -*-
-
-;; Copyright (C) 2020 Carla Cao
-
-;; Author: Carla Cao <ccao001@gmail.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, minimalist, presentation
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for`zmusic'.
-
-;;; Code:
-(require 'evil-collection)
-(require 'zmusic nil t)
-
-(defvar zmusic-mode-map)
-
-(defconst evil-collection-zmusic-maps '(zmusic-mode-map))
-
-;;;###autoload
-(defun evil-collection-zmusic-setup ()
- "Set up `evil' bindings for `zmusic'."
- (evil-collection-define-key 'normal 'zmusic-mode-map
- (kbd "RET") 'zmusic/toggle-play
- "j" 'zmusic/next-beat
- "k" 'zmusic/previous-beat
- "h" 'zmusic/backward-degree
- "l" 'zmusic/forward-degree
- "d" 'zmusic/kill-beat))
-
-(provide 'evil-collection-zmusic)
-;;; evil-collection-zmusic.el ends here
diff --git a/.config/emacs/lisp/evil-collection/modes/ztree/evil-collection-ztree.el b/.config/emacs/lisp/evil-collection/modes/ztree/evil-collection-ztree.el
deleted file mode 100644
index 4dfd324..0000000
--- a/.config/emacs/lisp/evil-collection/modes/ztree/evil-collection-ztree.el
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; evil-collection-ztree.el --- Evil bindings for ztree -*- lexical-binding: t -*-
-
-;; Copyright (C) 2017 Pierre Neidhardt
-
-;; Author: Pierre Neidhardt <mail@ambrevar.xyz>
-;; Maintainer: James Nguyen <james@jojojames.com>, Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.1
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, ztree, tools
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for ztree.
-
-;;; Code:
-(require 'evil-collection)
-(require 'ztree nil t)
-
-(defvar ztree-mode-map)
-(defvar ztreediff-mode-map)
-
-(defconst evil-collection-ztree-maps '(ztree-mode-map ztreediff-mode-map))
-
-;;;###autoload
-(defun evil-collection-ztree-setup ()
- "Set up `evil' bindings for `ztree'."
-
- (evil-collection-set-readonly-bindings 'ztree-mode-map)
- (evil-set-initial-state 'ztree-mode 'normal)
- (evil-collection-define-key 'normal 'ztree-mode-map
- (kbd "<tab>") 'ztree-jump-side
- (kbd "RET") 'ztree-perform-action
- (kbd "SPC") 'ztree-perform-soft-action
-
- "x" 'ztree-toggle-expand-subtree
-
- ;; refresh
- "gr" 'ztree-refresh-buffer)
-
- (evil-collection-set-readonly-bindings 'ztreediff-mode-map)
- (evil-set-initial-state 'ztree-mode 'normal)
- (evil-define-minor-mode-key 'normal 'ztreediff-mode
- "C" 'ztree-diff-copy
- "D" 'ztree-diff-delete-file
- "zH" 'ztree-diff-toggle-show-filtered-files
- "d" 'ztree-diff-simple-diff-files
- "zh" 'ztree-diff-toggle-show-equal-files
- "gf" 'ztree-diff-view-file
-
- ;; refresh
- "gr" 'ztree-diff-partial-rescan
- "gR" 'ztree-diff-full-rescan))
-
-(provide 'evil-collection-ztree)
-;;; evil-collection-ztree.el ends here
diff --git a/.config/emacs/lisp/evil-collection/test/evil-collection-magit-tests.el b/.config/emacs/lisp/evil-collection/test/evil-collection-magit-tests.el
deleted file mode 100644
index 9b4c892..0000000
--- a/.config/emacs/lisp/evil-collection/test/evil-collection-magit-tests.el
+++ /dev/null
@@ -1,112 +0,0 @@
-;;; evil-collection-magit-tests.el --- evil-based key bindings for magit
-
-;; Copyright (C) 2015-2016 Justin Burkett
-
-;; Author: Justin Burkett <justin@burkett.cc>
-;; Homepage: https://github.com/emacs-evil/evil-collection
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 3, or (at your
-;; option) any later version.
-;;
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-(require 'evil-collection)
-(evil-collection-require 'magit)
-
-(ert-deftest evil-collection-magit-mode-map-tests ()
- "Test that original bindings in `evil-collection-magit-mode-map-bindings'
-are correct."
- (dolist (binding evil-collection-magit-mode-map-bindings)
- (when (nth 4 binding)
- (should (eq (lookup-key (symbol-value (nth 1 binding)) (kbd (nth 4 binding)))
- (nth 3 binding)))))
- (dolist (binding evil-collection-magit-minor-mode-map-bindings)
- (when (nth 4 binding)
- (should (eq (lookup-key (symbol-value (nth 1 binding)) (kbd (nth 4 binding)))
- (nth 3 binding))))))
-
-(ert-deftest evil-collection-magit-section-map-tests ()
- "Test that original bindings in
-`evil-collection-magit-original-section-bindings' are correct."
- (dolist (binding evil-collection-magit-original-section-bindings)
- (should (eq (lookup-key (nth 0 binding) (nth 1 binding))
- (nth 2 binding)))))
-
-;; (ert-deftest evil-collection-magit-popup-action-tests ()
-;; "Test that bindings are as expected in popups."
-;; (when evil-collection-magit-popup-keys-changed
-;; (dolist (change evil-collection-magit-popup-changes)
-;; (let ((alist (plist-get (symbol-value (nth 0 change)) (nth 1 change))))
-;; (should
-;; (eq (nth 2 (assoc (string-to-char (nth 3 change)) alist))
-;; (nth 4 change)))))))
-
-(defun evil-collection-magit-collect-magit-section-maps ()
- (let (res)
- (mapatoms
- (lambda (sym)
- (when (string-match-p "^magit-.*-section-map$" (symbol-name sym))
- (push sym res))))
- res))
-
-(setq evil-collection-magit-section-maps-test (evil-collection-magit-collect-magit-section-maps))
-;; (setq evil-collection-magit-commands-in-section-maps
-;; (let (res)
-;; (dolist (map evil-collection-magit-section-maps-test)
-;; (when (and (boundp map) (keymapp (symbol-value map)))
-;; (map-keymap
-;; (lambda (_ def)
-;; (when (commandp def)
-;; (if res
-;; (add-to-list 'res def)
-;; (setq res (list def)))))
-;; (symbol-value map))))
-;; res))
-
-(ert-deftest evil-collection-magit-section-maps-accounted-for ()
- "Check that `evil-collection-magit-section-maps' includes all section-maps
-we can find."
- (dolist (map evil-collection-magit-section-maps-test)
- (when (and (boundp map) (keymapp (symbol-value map)))
- (should (memq map evil-collection-magit-section-maps)))))
-
-(defun evil-collection-magit-collect-git-magit-modes ()
- (let (res)
- (mapatoms
- (lambda (sym)
- (when (and (or (boundp sym)
- (fboundp sym))
- (string-match-p "^\\(git\\|magit\\)-.*-mode$" (symbol-name sym)))
- (push sym res))))
- res))
-
-(ert-deftest evil-collection-magit-all-modes-accounted-for ()
- "Check that mode lists include all modes we can find."
- (let ((modes (evil-collection-magit-collect-git-magit-modes))
- res)
- (dolist (mode modes)
- (when (boundp mode)
- (should (memq mode
- (append
- evil-collection-magit-emacs-to-default-state-modes
- evil-collection-magit-emacs-to-evil-collection-magit-state-modes
- evil-collection-magit-default-to-evil-collection-magit-state-modes
- evil-collection-magit-untouched-modes
- evil-collection-magit-ignored-modes)))))))
-
-(ert-deftest evil-collection-magit-expand-region-arg-number ()
- "Check that the number of args accepted by
-`evil-visual-expand-region' does not change."
- (should-not (evil-visual-expand-region))
- (should-not (evil-visual-expand-region t))
- (should-error (evil-visual-expand-region t t) :type
- 'wrong-number-of-arguments))
-
-;;; evil-collection-magit-tests.el ends here
diff --git a/.config/emacs/lisp/evil-collection/test/evil-collection-test.el b/.config/emacs/lisp/evil-collection/test/evil-collection-test.el
deleted file mode 100644
index a88fce4..0000000
--- a/.config/emacs/lisp/evil-collection/test/evil-collection-test.el
+++ /dev/null
@@ -1,41 +0,0 @@
-;;; evil-collection-test.el --- Tests for evil-collection -*- lexical-binding: t -*-
-(require 'evil-collection)
-
-(ert-deftest evil-collection-zero-test ()
- "Zero check blank test."
- (should (equal 0 0)))
-
-(ert-deftest evil-collection-filtering-states-test ()
- "Test `evil-collection--filter-states'."
- (let ((evil-collection-state-denylist '())
- (evil-collection-state-passlist '()))
- (should
- (equal nil
- (evil-collection--filter-states nil)))
- (should
- (equal '(normal)
- (evil-collection--filter-states 'normal)))
- (should
- (equal '(normal)
- (evil-collection--filter-states '(normal)))))
- (let ((evil-collection-state-denylist '(insert))
- (evil-collection-state-passlist '()))
- (should
- (equal '()
- (evil-collection--filter-states 'insert)))
- (should
- (equal '(visual)
- (evil-collection--filter-states '(visual insert)))))
- (let ((evil-collection-state-denylist '(insert))
- (evil-collection-state-passlist '(normal visual)))
- (should
- (equal '()
- (evil-collection--filter-states '())))
- (should
- (equal '(visual)
- (evil-collection--filter-states '(insert visual))))
- (should
- (seq-set-equal-p '(visual normal)
- (evil-collection--filter-states '(motion normal visual insert))))))
-
-;;; evil-collection-test.el ends here
diff --git a/.config/emacs/lisp/evil-collection/test/test-helper.el b/.config/emacs/lisp/evil-collection/test/test-helper.el
deleted file mode 100644
index b5d9e63..0000000
--- a/.config/emacs/lisp/evil-collection/test/test-helper.el
+++ /dev/null
@@ -1,9 +0,0 @@
-;;; test-helper.el --- Helpers for evil-collection-test.el -*- lexical-binding: t -*-
-(require 'ert)
-
-;; FIXME: Adding `f' as a dependency just for this line.
-(require 'f)
-(let ((evil-collection-dir (f-parent (f-dirname (f-this-file)))))
- (add-to-list 'load-path evil-collection-dir))
-(require 'evil-collection)
-;;; test-helper.el ends here
diff --git a/.config/emacs/lisp/evil-collection/yasnippet_evil-collection b/.config/emacs/lisp/evil-collection/yasnippet_evil-collection
deleted file mode 100644
index b57c8f8..0000000
--- a/.config/emacs/lisp/evil-collection/yasnippet_evil-collection
+++ /dev/null
@@ -1,45 +0,0 @@
-# -*- mode: snippet -*-
-# name: yasnippet_evil-collection
-# key: yasnippet_evil-collection
-# --
-;;; ${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 -*-
-
-;; Copyright (C) 2022 James Nguyen
-
-;; Author: James Nguyen <james@jojojames.com>
-;; Maintainer: James Nguyen <james@jojojames.com>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.2
-;; Package-Requires: ((emacs "27.1"))
-;; Keywords: evil, emacs, convenience, tools
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;; Bindings for $2.
-
-;;; Code:
-(require 'evil-collection)
-(require '$2 nil t)
-
-(defvar $2-mode-map)
-(defconst evil-collection-$2-maps '($2-mode-map))
-
-(defun $1-setup ()
- "Set up `evil' bindings for $2."
- (evil-collection-define-key 'normal '$2-mode-map
- $0))
-
-(provide '$1)
-;;; $1.el ends here \ No newline at end of file