From ecfbf9485c1db80a3117feb6705e471f3846f57b Mon Sep 17 00:00:00 2001 From: Artur Malabarba Date: Thu, 30 Oct 2014 18:56:55 +0000 Subject: [PATCH] Define new delete-backward bound to backspace. Fixes #25 --- aggressive-indent.el | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/aggressive-indent.el b/aggressive-indent.el index 7d6f51924..17b3a2bcb 100644 --- a/aggressive-indent.el +++ b/aggressive-indent.el @@ -80,10 +80,11 @@ ;; ;;; Change Log: -;; 0.3 - 2014/10/23 - Implement a smarter engine for non-lisp modes. -;; 0.2 - 2014/10/20 - Reactivate `electric-indent-mode'. -;; 0.2 - 2014/10/19 - Add variable `aggressive-indent-dont-indent-if', so the user can prevent indentation. -;; 0.1 - 2014/10/15 - Release. +;; 0.3.1 - 2014/10/30 - Define new delete-backward bound to backspace. +;; 0.3 - 2014/10/23 - Implement a smarter engine for non-lisp modes. +;; 0.2 - 2014/10/20 - Reactivate `electric-indent-mode'. +;; 0.2 - 2014/10/19 - Add variable `aggressive-indent-dont-indent-if', so the user can prevent indentation. +;; 0.1 - 2014/10/15 - Release. ;;; Code: (require 'cl-lib) @@ -321,11 +322,23 @@ Like `aggressive-indent-indent-region-and-on', but wrapped in a Assumes that the syntax table is sufficient to find comments." (nth 4 (syntax-ppss))) + +;;; Keymap +(defun delete-backward () + "Either `delete-indentation' or call [backspace]." + (interactive) + (if (looking-back "^[[:blank:]]+") + (call-interactively 'delete-indentation) + (let ((mode nil)) + (execute-kbd-macro [backspace])))) + +(define-key mode-map "\C-c\C-q" #'indent-defun) +(define-key mode-map [backspace] #'delete-backward) + ;;; Minor modes :autoload -(define-minor-mode mode nil nil " =>" - '(("\C-c\C-q" . aggressive-indent-indent-defun)) +(define-minor-mode mode nil nil " =>" nil (if mode (if (and global-aggressive-indent-mode (or (cl-member-if #'derived-mode-p excluded-modes) -- 2.39.2