[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed 82c27ed 5/9: Refactor identifier code
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/objed 82c27ed 5/9: Refactor identifier code |
Date: |
Mon, 18 Mar 2019 13:20:57 -0400 (EDT) |
branch: externals/objed
commit 82c27ed10ecc62760a785a8e6a30024f8a6ef010
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Refactor identifier code
---
objed-objects.el | 45 +++++++++++++--------------------------------
objed.el | 28 ++++++++++++++++++++++++----
2 files changed, 37 insertions(+), 36 deletions(-)
diff --git a/objed-objects.el b/objed-objects.el
index bb3b1a0..2f48528 100644
--- a/objed-objects.el
+++ b/objed-objects.el
@@ -51,6 +51,10 @@
(declare-function objed--install-advices "ext:objed")
(declare-function objed--install-advices-for "ext:objed")
+(declare-function objed-goto-next-identifier "ext:objed")
+(declare-function objed-goto-prev-identifier "ext:objed")
+(declare-function objed-next-identifier "ext:objed")
+(declare-function objed-prev-identifier "ext:objed")
@@ -1081,26 +1085,6 @@ object."
(objed--update-current-object obj)
(objed--goto-char (objed--beg obj)))))))
-
-(defun objed-goto-prev-identifier (arg)
- "Switch to nth previous identifier.
-
-nth is given by ARG."
- (interactive "P")
- (unless (eq objed--object 'identifier)
- (objed--switch-to 'identifier))
- (objed--goto-previous arg))
-
-(defun objed-goto-next-identifier (arg)
- "Switch to nth next identifier.
-
-nth is given by ARG."
- (interactive "P")
- (if (eq objed--object 'identifier)
- (objed--goto-next arg)
- (objed--switch-to 'identifier)))
-
-
(defun objed--make-object-overlay (&optional obj)
"Create an overlay to mark current object.
@@ -2073,14 +2057,13 @@ non-nil the indentation block can contain empty lines."
:get-obj
(bounds-of-thing-at-point 'symbol)
:try-next
- (objed-next-identifier)
+ (objed--next-identifier)
:try-prev
- (objed-prev-identifier))
+ (objed--prev-identifier))
+
-;;;###autoload
-(defun objed-next-identifier ()
+(defun objed--next-identifier ()
"Move to next identifier."
- (interactive)
(let ((bds nil))
(if (not (setq bds (bounds-of-thing-at-point 'symbol)))
(re-search-forward "\\_<" nil t)
@@ -2091,14 +2074,12 @@ non-nil the indentation block can contain empty lines."
(if (re-search-forward (format "\\_<%s\\_>" sym) nil t)
(goto-char (match-beginning 0))
(goto-char (car bds))
- (when (or (eq real-this-command #'objed-current-or-next-context)
- (eq real-this-command #'objed-next-identifier))
+ (when (or (eq real-this-command #'objed-next-identifier)
+ (eq real-this-command #'objed-goto-next-identifier))
(run-at-time 0 nil (apply-partially #'message "Last one!"))))))))
-;;;###autoload
-(defun objed-prev-identifier ()
+(defun objed--prev-identifier ()
"Move to previous identifier."
- (interactive)
(let ((bds nil))
(if (not (setq bds (bounds-of-thing-at-point 'symbol)))
(re-search-backward "\\_<" nil t)
@@ -2110,8 +2091,8 @@ non-nil the indentation block can contain empty lines."
(if (re-search-backward (format "\\_<%s\\_>" sym) nil t)
(goto-char (match-beginning 0))
(goto-char (car bds))
- (when (or (eq real-this-command
#'objed-current-or-previous-context)
- (eq real-this-command #'objed-prev-identifier))
+ (when (or (eq real-this-command #'objed-prev-identifier)
+ (eq real-this-command #'objed-goto-prev-identifier))
(run-at-time 0 nil (apply-partially #'message "First
one!")))))))))
diff --git a/objed.el b/objed.el
index 264aafe..f6ad139 100644
--- a/objed.el
+++ b/objed.el
@@ -1919,11 +1919,31 @@ back to `objed-initial-object' if no match found."
(re-search-backward ident nil t))))
;;;###autoload
-(defun objed-identifier ()
+(defun objed-next-identifier ()
"Activate object with identifier at point."
(interactive)
- (objed--init 'identifier)
- (goto-char (objed--beg)))
+ (objed--next-identifier))
+
+;;;###autoload
+(defun objed-prev-identifier ()
+ "Activate object with identifier at point."
+ (interactive)
+ (objed--prev-identifier))
+
+(defun objed-goto-prev-identifier ()
+ "Switch to previous identifier."
+ (interactive)
+ (objed--prev-identifier)
+ (when (objed--switch-to 'identifier)
+ (goto-char (objed--beg))))
+
+(defun objed-goto-next-identifier ()
+ "Switch to next identifier."
+ (interactive)
+ (when (eq objed--object 'identifier)
+ (objed--next-identifier))
+ (when (objed--switch-to 'identifier)
+ (goto-char (objed--beg))))
(defun objed-toggle-side ()
"Move to other side of object.
@@ -3407,7 +3427,7 @@ whitespace they build a sequence."
(define-key map (kbd "M-[") 'objed-beg-of-object-at-point)
(define-key map (kbd "M-]") 'objed-end-of-object-at-point)
(define-key map (kbd "C-,") 'objed-prev-identifier)
- (define-key map (kbd "C-.") 'objed-identifier)
+ (define-key map (kbd "C-.") 'objed-next-identifier)
(define-key map (kbd "C-<") 'objed-first-identifier)
(define-key map (kbd "C->") 'objed-last-identifier)
map)
- [elpa] externals/objed updated (4cb9beb -> f3ebfe4), Clemens Radermacher, 2019/03/18
- [elpa] externals/objed 82c27ed 5/9: Refactor identifier code,
Clemens Radermacher <=
- [elpa] externals/objed fb2e556 6/9: Remove section object from block objects, Clemens Radermacher, 2019/03/18
- [elpa] externals/objed a0c7e92 7/9: Remove line object from block expansion, line object has its own key, Clemens Radermacher, 2019/03/18
- [elpa] externals/objed f3ebfe4 9/9: Version bump, Clemens Radermacher, 2019/03/18
- [elpa] externals/objed 37d8657 4/9: Fix object dispatch, don't init twice, return object on init, Clemens Radermacher, 2019/03/18
- [elpa] externals/objed 03d7b47 8/9: Change order of block expansions, Clemens Radermacher, 2019/03/18
- [elpa] externals/objed 3816854 2/9: Don't choose next object on repeat, Clemens Radermacher, 2019/03/18
- [elpa] externals/objed a90d8e3 3/9: Move to start of identifier for objed-identifier, Clemens Radermacher, 2019/03/18
- [elpa] externals/objed 7968f68 1/9: Formatting fixes, Clemens Radermacher, 2019/03/18