[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed e5dfba1 096/216: Add extend commands
From: |
Stefan Monnier |
Subject: |
[elpa] externals/objed e5dfba1 096/216: Add extend commands |
Date: |
Tue, 8 Jan 2019 12:29:19 -0500 (EST) |
branch: externals/objed
commit e5dfba12a9706f066958091ca8dbcfe53dca363f
Author: Clemera <address@hidden>
Commit: Clemera <address@hidden>
Add extend commands
---
README.asc | 3 +++
objed.el | 28 +++++++++++++++++++++++++++-
2 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/README.asc b/README.asc
index 004d546..7a04589 100644
--- a/README.asc
+++ b/README.asc
@@ -397,6 +397,9 @@ You can add your own prefix bindings using
`objed-define-dispatch`.
|kbd:[>]
|Activate part from point forward until boundary of some object.
+
+|kbd:[-/+]
+|Extend current object forward/backward until boundary of some object.
|===
diff --git a/objed.el b/objed.el
index edb9adb..6e546a0 100644
--- a/objed.el
+++ b/objed.el
@@ -887,6 +887,8 @@ Use `objed-define-dispatch' to define a dispatch command.")
(objed-define-dispatch ">" objed--forward-until)
(objed-define-dispatch "*" objed--mark-all-inside)
(objed-define-dispatch "#" objed--ace-switch-object)
+(objed-define-dispatch "+" objed--extend-forward)
+(objed-define-dispatch "-" objed--extend-backward)
(defun objed--backward-until (name)
"Activate part from point backward until object NAME."
@@ -900,6 +902,18 @@ Use `objed-define-dispatch' to define a dispatch command.")
:ibeg (objed--min o)
:iend start))))
+(defun objed--extend-backward (name)
+ "Activate part from point backward until object NAME."
+ (let* ((start (objed--end))
+ (o (objed--until name t)))
+ (objed--switch-to
+ name nil
+ (objed-make-object
+ :beg (point)
+ :end start
+ :ibeg (objed--min o)
+ :iend start))))
+
(defun objed--forward-until (name)
"Activate part from point forward until object NAME."
(let* ((start (point))
@@ -913,8 +927,20 @@ Use `objed-define-dispatch' to define a dispatch command.")
:beg start
:end (objed--max o))))))
+(defun objed--extend-forward (name)
+ "Activate part from point backward until object NAME."
+ (let* ((start (objed--beg))
+ (o (objed--until name)))
+ (objed--switch-to
+ name nil
+ (objed-make-object
+ :ibeg start
+ :beg start
+ :iend (point)
+ :end (point)))))
+
(defmacro objed--save-state (&rest body)
- "Preserve state during execution of BODY."
+ " Preserve state during execution of BODY."
`(let ((state (objed--get-current-state)))
(unwind-protect (progn ,@body )
(prog1 nil (objed--restore-state state)))))
- [elpa] externals/objed 21ca995 069/216: Cleanup malformed object, (continued)
- [elpa] externals/objed 21ca995 069/216: Cleanup malformed object, Stefan Monnier, 2019/01/08
- [elpa] externals/objed d21fd72 073/216: Fix makup again, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 7c41d13 076/216: Fixup which-key paging commands, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 204ea88 095/216: Change surroundings binding, Stefan Monnier, 2019/01/08
- [elpa] externals/objed b54fa1a 077/216: Add more tests, Stefan Monnier, 2019/01/08
- [elpa] externals/objed deb059e 100/216: Update bindings, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 53cafee 085/216: Add new commands to move to first/last instance, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 919a72d 071/216: Adjust python block object, Stefan Monnier, 2019/01/08
- [elpa] externals/objed b7ded6d 083/216: Improve tests, add more tests, Stefan Monnier, 2019/01/08
- [elpa] externals/objed e5f8bac 102/216: Improve undo in region, Stefan Monnier, 2019/01/08
- [elpa] externals/objed e5dfba1 096/216: Add extend commands,
Stefan Monnier <=
- [elpa] externals/objed d770ddd 055/216: Don't exit after eval op, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 6907e69 058/216: Improve face object, Stefan Monnier, 2019/01/08
- [elpa] externals/objed cac61c3 084/216: Improve block objects, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 58af659 068/216: Start adding tests, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 655a636 090/216: Fix bug, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 838094f 097/216: Working on #14, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 9f4e3cf 062/216: More face object adjustments, Stefan Monnier, 2019/01/08
- [elpa] externals/objed d15d904 089/216: Fix up forward/backward until any object, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 12e3fdd 078/216: Use last command event so it can be rebound for tests, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 0aa6e84 103/216: Change some object bindings, Stefan Monnier, 2019/01/08