From 974d1193d2d0c039ba4d89d776218bf3a2fbe564 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Wed, 9 Apr 2008 18:53:16 +0200 Subject: Make kill more intuitive --- gitsum.el | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gitsum.el b/gitsum.el index 54ed03b..fcc9262 100644 --- a/gitsum.el +++ b/gitsum.el @@ -15,6 +15,7 @@ '(("A" . gitsum-amend) ("c" . gitsum-commit) ("g" . gitsum-refresh) + ("k" . gitsum-kill-dwim) ("P" . gitsum-push) ("R" . gitsum-revert) ("s" . gitsum-switch-to-git-status) @@ -63,7 +64,24 @@ A numeric argument serves as a repeat count." (insert diff) (goto-char (point-min)) (delete-matching-lines "^index \\|^diff --git "))) - (set-buffer-modified-p nil))) + (set-buffer-modified-p nil) + (goto-char (point-min)) + (forward-line 4))) + +(defun gitsum-kill-dwim () + "Kill the current hunk or file depending on point." + (interactive) + (let ((inhibit-read-only t)) + (if (looking-at "^---\\|^\\+\\+\\+") + (diff-file-kill) + (diff-hunk-kill) + (save-excursion + (when (or (looking-at "^--- ") + (eobp)) + (let ((here (point))) + (forward-line -2) + (when (looking-at "^--- ") + (delete-region here (point))))))))) (defun gitsum-commit () "Commit the patch as-is, asking for a commit message." -- cgit 1.4.1