emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 022e658 090/272: When in prog-mode, "M-n" should wrap inpu


From: Oleh Krehel
Subject: [elpa] master 022e658 090/272: When in prog-mode, "M-n" should wrap input with "\b"
Date: Mon, 25 Apr 2016 10:13:18 +0000

branch: master
commit 022e65818607af5f8eeb0a9d39ee5957c0c9a9f2
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    When in prog-mode, "M-n" should wrap input with "\b"
    
    When searching for occurrences of a symbol, it's useful to omit the
    cases where the symbol is a part of a larger word.
    
    "M-n" will insert the symbol, then if the mode is derived from
    `prog-mode', wrap this symbol with \b - the regex notation for word
    boundary.
    
    This wrapping can be undone with `undo'.
---
 ivy.el |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/ivy.el b/ivy.el
index 3d844d3..b144182 100644
--- a/ivy.el
+++ b/ivy.el
@@ -851,7 +851,17 @@ Call the permanent action if possible."
 (defun ivy-next-history-element (arg)
   "Forward to `next-history-element' with ARG."
   (interactive "p")
-  (next-history-element arg)
+  (if (= minibuffer-history-position 0)
+      (progn
+        (insert ivy--default)
+        (when (and (with-ivy-window (derived-mode-p 'prog-mode))
+                   (> (point) (minibuffer-prompt-end)))
+          (undo-boundary)
+          (insert "\\b")
+          (goto-char (minibuffer-prompt-end))
+          (insert "\\b")
+          (forward-char (+ 2 (length ivy--default)))))
+    (next-history-element arg))
   (ivy--cd-maybe)
   (move-end-of-line 1)
   (ivy--maybe-scroll-history))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]