From 4047ad5205fa85c9b08b91611681a0a3bd761c72 Mon Sep 17 00:00:00 2001 From: Ethan Coe-Renner Date: Sat, 18 Jan 2025 17:32:23 -0800 Subject: [PATCH] Add functions to increment/decrement context These functions can then be bound to keys to quickly increase and decrease before/after context in the current search. --- deadgrep.el | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/deadgrep.el b/deadgrep.el index 145f73d..e8baeea 100644 --- a/deadgrep.el +++ b/deadgrep.el @@ -482,6 +482,39 @@ with a text face property `deadgrep-match-face'." (deadgrep-restart)) +(defun deadgrep--update-context (which-context value) + "Update the context WHICH-CONTEXT of deadgrep--context by VALUE. + +WHICH-CONTEXT is a string, either 'before' or 'after'" + (let ((before (or (car deadgrep--context) 0)) + (after (or (cdr deadgrep--context) 0))) + (if (cond + ((and (string= which-context "before") (> (+ before value) -1)) + (setq deadgrep--context (cons (+ before value) after))) + ((and (string= which-context "after") (> (+ after value) -1)) + (setq deadgrep--context (cons before (+ after value))))) + (deadgrep-restart)))) + +(defun deadgrep-increment-before-context () + "Increment context before." + (interactive) + (deadgrep--update-context "before" 1)) + +(defun deadgrep-decrement-before-context () + "Decrement context before." + (interactive) + (deadgrep--update-context "before" -1)) + +(defun deadgrep-increment-after-context () + "Increment context after." + (interactive) + (deadgrep--update-context "after" 1)) + +(defun deadgrep-decrement-after-context () + "Increment context after." + (interactive) + (deadgrep--update-context "after" -1)) + (defun deadgrep--type-list () "Query the rg executable for available file types." (let* ((output (with-output-to-string