From bdf9a71ab7baa2b1de9abcfd5df1a9107a55d141 Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Sun, 5 Jul 2026 01:19:30 -0400 Subject: add a bunch of emacs packages HELP --- .../lisp/evil-collection/modes/python/README.org | 17 +++++++ .../modes/python/evil-collection-python.el | 52 ++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 .config/emacs/lisp/evil-collection/modes/python/README.org create mode 100644 .config/emacs/lisp/evil-collection/modes/python/evil-collection-python.el (limited to '.config/emacs/lisp/evil-collection/modes/python') diff --git a/.config/emacs/lisp/evil-collection/modes/python/README.org b/.config/emacs/lisp/evil-collection/modes/python/README.org new file mode 100644 index 0000000..1daae7e --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/python/README.org @@ -0,0 +1,17 @@ +* 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 new file mode 100644 index 0000000..c71395e --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/python/evil-collection-python.el @@ -0,0 +1,52 @@ +;;; evil-collection-python.el --- Bindings for `python' -*- lexical-binding: t -*- + +;; Copyright (C) 2017 James Nguyen + +;; Author: James Nguyen +;; Maintainer: James Nguyen +;; Pierre Neidhardt +;; 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 . + +;;; 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 -- cgit v1.2.3