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

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

[elpa] externals/objed fa3b6db 161/216: Add include leading/trailing whi


From: Stefan Monnier
Subject: [elpa] externals/objed fa3b6db 161/216: Add include leading/trailing whitespace commands
Date: Tue, 8 Jan 2019 12:29:32 -0500 (EST)

branch: externals/objed
commit fa3b6dbba44b9ed029ca1bd53258d4e15a6a59d0
Author: Clemera <address@hidden>
Commit: Clemera <address@hidden>

    Add include leading/trailing whitespace commands
---
 README.asc |  2 +-
 objed.el   | 53 +++++++++++++++++++----------------------------------
 2 files changed, 20 insertions(+), 35 deletions(-)

diff --git a/README.asc b/README.asc
index b5ac068..88663a2 100644
--- a/README.asc
+++ b/README.asc
@@ -405,7 +405,7 @@ You can add your own prefix bindings using 
`objed-define-dispatch`.
 |Activate part from point forward until boundary of some object.
 
 |kbd:[-/+]
-|Extend current object forward/backward until boundary of some object.
+|Extend current object forward/backward by including leading/trailing 
whitespace.
 |===
 
 
diff --git a/objed.el b/objed.el
index fb8c931..a587196 100644
--- a/objed.el
+++ b/objed.el
@@ -585,8 +585,7 @@ BEFORE and AFTER are forms to execute before/after calling 
the command."
     ;; TODO: birdview mode/scroll mode
     (define-key map (kbd "C-v") 'scroll-up-command)
     (define-key map "\ev" 'scroll-down-command)
-    ;; "visual"
-    (define-key map "v" 'objed-extend)
+
 
     ;;(define-key map (kbd "C-h") which-key-C-h-map)
     (define-key map (kbd "C-h k") 'describe-key)
@@ -656,6 +655,10 @@ BEFORE and AFTER are forms to execute before/after calling 
the command."
     (define-key map "M" 'objed-toggle-mark-backward)
     (define-key map "U" 'objed-unmark-all)
 
+    ;; "visual"
+    (define-key map "v" 'objed-extend)
+    (define-key map "+" 'objed-include-trailing-ws)
+    (define-key map "-" 'objed-include-leading-ws)
 
     ;; basic edit ops
     (define-key map "k" 'objed-kill)
@@ -810,14 +813,6 @@ To define new operations see `objed-define-op'.")
     (define-key map "h" 'objed-buffer-object)
 
     (define-key map "z" 'objed-ace-object)
-
-    (define-key map "+" 'objed-trailing-object)
-    (define-key map "-" 'objed-leading-object)
-
-    ;;  handled by basic movement..
-
-    ;; (define-key map "s" 'objed-symbol-object)
-
     map)
   "Keymap used for additional text-objects by `objed'.
 
@@ -837,8 +832,7 @@ 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."
@@ -852,17 +846,6 @@ 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."
@@ -877,17 +860,6 @@ 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)))
-    (when (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."
@@ -1731,6 +1703,19 @@ movement commands."
                (objed--end))
              t t))
 
+(defun objed-include-trailing-ws ()
+  "Include trailing ws for current object."
+  (interactive)
+  (objed--change-to
+   :end (objed--skip-forward (objed--end) 'ws)))
+
+(defun objed-include-leading-ws ()
+  "Include leading ws for current object."
+  (interactive)
+  (objed--change-to
+   :beg
+   (objed--skip-backward (objed--beg) 'ws)))
+
 (defun objed-contents-object ()
   "Switch to reference of an object.
 



reply via email to

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