[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/sweeprolog 94dc85fb0f 2/6: Add repeat keymap for sweeprolo
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/sweeprolog 94dc85fb0f 2/6: Add repeat keymap for sweeprolog-forward-hole |
Date: |
Sun, 27 Nov 2022 14:59:30 -0500 (EST) |
branch: elpa/sweeprolog
commit 94dc85fb0f94aaef8f558bb9a0e2794dc770693e
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>
Add repeat keymap for sweeprolog-forward-hole
* sweeprolog.el (sweeprolog-backward-hole): new command.
(sweeprolog-forward-hole-repeat-mode): new repeat keymap.
---
sweeprolog.el | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/sweeprolog.el b/sweeprolog.el
index ced7f4987c..3d61d126bd 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -375,6 +375,14 @@ non-terminals)."
map)
"Keymap for `sweeprolog-mode'.")
+(defvar sweeprolog-forward-hole-repeat-mode
+ (let ((map (make-sparse-keymap)))
+ (define-key map (kbd "C-i") #'sweeprolog-forward-hole)
+ (define-key map (kbd "p") #'sweeprolog-backward-hole)
+ (define-key map (kbd "n") #'sweeprolog-forward-hole)
+ map)
+ "Repeat map for \\[sweeprolog-forward-hole].")
+
(defvar sweeprolog-top-level-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "C-c C-c") #'sweeprolog-top-level-signal-current)
@@ -2622,6 +2630,7 @@ point and the beginning of the buffer."
(not (eobp)))
(forward-char))
(point))))
+ (forward-char -1)
(while (and (get-text-property (point) 'sweeprolog-hole)
(not (bobp)))
(forward-char -1))
@@ -2638,7 +2647,7 @@ point and the beginning of the buffer."
(while (and (get-text-property (point) 'sweeprolog-hole)
(not (bobp)))
(forward-char -1))
- (cons (point) end)))))
+ (cons (1+ (point)) (1+ end))))))
(defun sweeprolog--forward-hole (&optional wrap)
(if-let ((hole (sweeprolog--next-hole wrap))
@@ -2658,6 +2667,15 @@ point and the beginning of the buffer."
(push-mark beg t t))
(user-error "No holes before point")))
+(defun sweeprolog-backward-hole (&optional arg)
+ "Move point to the previous hole in a `sweeprolog-mode' buffer.
+
+With negative prefix argument ARG, move to the next hole
+instead."
+ (interactive "p" sweeprolog-mode)
+ (setq arg (or arg 1))
+ (sweeprolog-forward-hole (- arg)))
+
(defun sweeprolog-forward-hole (&optional arg)
"Move point to the next hole in a `sweeprolog-mode' buffer.
@@ -2670,6 +2688,14 @@ instead."
(sweeprolog--backward-hole t)
(sweeprolog--forward-hole t)))
+(put 'sweeprolog-backward-hole
+ 'repeat-map
+ 'sweeprolog-forward-hole-repeat-mode)
+
+(put 'sweeprolog-forward-hole
+ 'repeat-map
+ 'sweeprolog-forward-hole-repeat-mode)
+
(defun sweeprolog--hole (&optional string)
(propertize (or string "_")
'sweeprolog-hole t
- [nongnu] elpa/sweeprolog updated (ad74fa17bb -> f4e9d872c8), ELPA Syncer, 2022/11/27
- [nongnu] elpa/sweeprolog caef2e51dc 1/6: * README.org ("Things To Do"): remove outdated item, ELPA Syncer, 2022/11/27
- [nongnu] elpa/sweeprolog 6e3bf5c996 5/6: Add test for predicate completion with named arguments, ELPA Syncer, 2022/11/27
- [nongnu] elpa/sweeprolog 94dc85fb0f 2/6: Add repeat keymap for sweeprolog-forward-hole,
ELPA Syncer <=
- [nongnu] elpa/sweeprolog 33323c7586 4/6: ENHANCED: use argument names for holes in predicate completion, ELPA Syncer, 2022/11/27
- [nongnu] elpa/sweeprolog 4b494f9c90 3/6: * (sweeprolog-analyze-fragment-flymake): fix typo, ELPA Syncer, 2022/11/27
- [nongnu] elpa/sweeprolog f4e9d872c8 6/6: Announce recent changes in NEWS.org and bump version to 0.9.3, ELPA Syncer, 2022/11/27