[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed 6227a85 43/59: Improve movment with objed extend
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/objed 6227a85 43/59: Improve movment with objed extend |
Date: |
Sun, 24 Mar 2019 06:06:42 -0400 (EDT) |
branch: externals/objed
commit 6227a858386611e4a7bf2cd18a8b902a03186ff8
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Improve movment with objed extend
---
objed.el | 52 +++++++++++++++++++---------------------------------
1 file changed, 19 insertions(+), 33 deletions(-)
diff --git a/objed.el b/objed.el
index 8eb86ad..13fe536 100644
--- a/objed.el
+++ b/objed.el
@@ -566,33 +566,22 @@ BEFORE and AFTER are forms to execute before/after
calling the command."
(symbol-name cmd) (symbol-name obj))
(interactive)
,before
- (setq this-command ',cmd)
- (call-interactively ',cmd)
- ,after
- (objed--switch-to ',obj)))
+ (let* ((prb (and (region-active-p) (= (point) (region-beginning))))
+ (pre (and (region-active-p) (= (point) (region-end))))
+ (pos (point)))
+ (setq this-command ',cmd)
+ (call-interactively ',cmd)
+ ,after
+ (objed--switch-to ',obj)
+ (when (or prb pre)
+ (cond ((and prb
+ (= (point) (region-end)))
+ (set-mark pos))
+ ((and pre
+ (= (point) (region-beginning)))
+ (set-mark pos)))))))
-(defun objed--forward-word ()
- "Forward word.
-
-Accommodate for `objed-extend'."
- (interactive)
- (if (and (eq last-command 'objed-extend)
- (eq objed--object 'word)
- (looking-at "\\<"))
- (objed-exchange-point-and-mark)
- (call-interactively 'forward-word)))
-
-(defun objed--backward-word ()
- "Backward word.
-
-Accommodate for `objed-extend'."
- (interactive)
- (if (and (eq last-command 'objed-extend)
- (eq objed--object 'word)
- (looking-back "\\>" 1))
- (objed-exchange-point-and-mark)
- (call-interactively 'backward-word)))
(defun objed-quit-window-or-reformat ()
"Quit window for objed.
@@ -660,10 +649,11 @@ selected one."
;; general movement
(define-key map "s" (objed--call-and-switch
- objed--forward-word
+ forward-word
word))
(define-key map "r" (objed--call-and-switch
- objed--backward-word word))
+ backward-word
+ word))
(define-key map "S" 'objed-move-word-forward)
(define-key map "R" 'objed-move-word-backward)
@@ -677,12 +667,7 @@ selected one."
(define-key map "p" (objed--call-and-switch previous-line line))
(define-key map "n" (objed--call-and-switch
- next-line line
- (when (and (bolp)
- (eq last-command 'objed-extend)
- (eq objed--object 'line))
- (objed-exchange-point-and-mark)
- (goto-char (line-beginning-position)))))
+ next-line line))
(define-key map "P" 'objed-move-line-backward)
(define-key map "N" 'objed-move-line-forward)
@@ -2102,6 +2087,7 @@ objed operation is used."
(setq mark-active nil)
(objed--init objed--object)
(message "Install expand-region to expand on repeat."))
+ ;; when moving forward current obj shoul look like included in selection
(unless objed--extend-cookie
(setq objed--extend-cookie
(face-remap-add-relative 'objed-hl
- [elpa] externals/objed e5002a8 58/59: Update description for user prefix key, (continued)
- [elpa] externals/objed e5002a8 58/59: Update description for user prefix key, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 7713827 57/59: Use stripe buffer mode for ace object if available, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 8cf155e 56/59: Add prefix key for user-map, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed d43aad1 55/59: Change ace object to select by lines, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 9a3ef85 50/59: Update docs for shrink context command, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 2c2741e 52/59: Change binding for objed-occur, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 3e5b8f0 51/59: Add object-activate-object entry command, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 6308003 53/59: Update description, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed f3d55c0 54/59: Add binding for expand context "object", Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 550e537 41/59: Update docstrings, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 6227a85 43/59: Improve movment with objed extend,
Clemens Radermacher <=
- [elpa] externals/objed c87ea0f 38/59: Change binding for objed-insert, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed b5e68c9 33/59: Add objed insert command, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 1d116bd 42/59: Improve objed context object, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed fef1621 47/59: Reorder few defuns by topic, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed dc86d31 45/59: Change bindings for duplicate ops, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed a46a1e5 46/59: Add binding for including leading ws, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 315a622 40/59: Update beg of object at point semantics, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed a09e198 36/59: Improve objed-eval-exp, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 5af62e2 35/59: Default to char if current buffer has no objed--object set, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 26cd732 32/59: Exit with exit code or op name, Clemens Radermacher, 2019/03/24