diff --git a/evil-collection.el b/evil-collection.el index f4d61f6..92e066b 100644 --- a/evil-collection.el +++ b/evil-collection.el @@ -90,7 +90,13 @@ (evil-pass-set-keys)) (with-eval-after-load 'prodigy (require 'evil-prodigy) - (evil-prodigy-set-keys))) + (evil-prodigy-set-keys)) + (with-eval-after-load 'slime + (require 'evil-slime) + (evil-collection-set-keys)) + (with-eval-after-load 'vlf + (require 'evil-vlf) + (evil-vlf-set-keys))) ;;;###autoload (defun evil-collection-all-modes-init () diff --git a/evil-slime.el b/evil-slime.el new file mode 100644 index 0000000..12ab9e6 --- /dev/null +++ b/evil-slime.el @@ -0,0 +1,59 @@ +;;; evil-slime.el --- Evil integration for `slime'. -*- lexical-binding: t -*- + +;; Copyright (C) 2017 James Nguyen + +;; Author: James Nguyen +;; Maintainer: James Nguyen +;; URL: https://github.com/jojojames/evil-collection +;; Version: 0.0.1 +;; Package-Requires: ((emacs "25.1")) +;; Keywords: evil, slime, emacs +;; HomePage: https://github.com/jojojames/evil-collection + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: +;; Evil integration for `slime-mode'. + +;;; Code: +(require 'evil-collection-util) +(require 'slime) + +(defun evil-collection-set-keys () + (+evilify-map + sldb-mode-map + :mode sldb-mode + :bindings + "H" 'describe-mode + "\C-j" 'sldb-down + "\C-k" 'sldb-up + "\M-j" 'sldb-details-down + "\M-k" 'sldb-details-up + "gb" 'sldb-break-on-return + "gB" 'sldb-break-with-default-debugger) + + (+evilify-map + slime-inspector-mode-map + :mode slime-inspector-mode + :bindings + "gr" 'slime-inspector-reinspect) + + (evil-define-key 'normal slime-popup-buffer-mode-map + (kbd "q") 'quit-window + (kbd "M-.") 'slime-edit-definition) + + (add-hook 'slime-popup-buffer-mode-hook #'evil-normalize-keymaps)) + +(provide 'evil-slime) +;;; evil-slime.el ends here diff --git a/evil-vlf.el b/evil-vlf.el new file mode 100644 index 0000000..9e931f9 --- /dev/null +++ b/evil-vlf.el @@ -0,0 +1,45 @@ +;;; evil-vlf.el --- Evil integration for vlf. -*- lexical-binding: t -*- + +;; Copyright (C) 2017 James Nguyen + +;; Author: James Nguyen +;; Maintainer: James Nguyen +;; URL: https://github.com/jojojames/evil-collection +;; Version: 0.0.1 +;; Package-Requires: ((emacs "25.1")) +;; Keywords: emacs, evil, vlf +;; HomePage: https://github.com/jojojames/evil-collection + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: +;; Evil integration for `vlf'. +(require 'evil-collection-util) +(require 'vlf) + +;;; Code: +(defun evil-vlf-set-keys () + (+evilify-map + vlf-mode-map + :mode vlf-mode + :bindings + "C-j" 'vlf-next-batch + "C-k" 'vlf-prev-batch + "f" 'evil-find-char + "F" 'vlf-toggle-follow + "gr" vlf-revert + "e" vlf-ediff-buffers)) + +(provide 'evil-vlf) +;;; evil-vlf.el ends here