branch: externals/objed
commit dcea2bc248fa7768e6c2e73a74b1a6d0f290e50e
Author: Clemens Radermacher <[email protected]>
Commit: Clemens Radermacher <[email protected]>
Add window resize commands
---
objed.el | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 54 insertions(+), 1 deletion(-)
diff --git a/objed.el b/objed.el
index 60dd81a..3d4f00b 100644
--- a/objed.el
+++ b/objed.el
@@ -832,7 +832,13 @@ BEFORE and AFTER are forms to execute before/after calling
the command."
'objed-insert-new-object)
(define-key map "^" 'objed-raise)
- ;; move things
+ ;; move windows
+ (define-key map (kbd "<left>") 'objed-move-window-line-left)
+ (define-key map (kbd "<right>") 'objed-move-window-line-right)
+ (define-key map (kbd "<up>") 'objed-move-window-line-up)
+ (define-key map (kbd "<down>") 'objed-move-window-line-down)
+
+ ;; move text
(define-key map (kbd "<C-left>") 'objed-indent-left)
(define-key map (kbd "<C-right>") 'objed-indent-right)
(define-key map (kbd "<M-right>") 'objed-indent-to-right-tab-stop)
@@ -2861,6 +2867,53 @@ Moves point over any whitespace afterwards."
(newline)
(indent-according-to-mode)))
(objed--reset))
+
+(defun objed-move-window-line-up ()
+ "Move window line up."
+ (interactive)
+ (cond ((and (window-in-direction 'above)
+ (window-in-direction 'below))
+ (shrink-window 1))
+ ((window-in-direction 'above)
+ (enlarge-window 1))
+ ((window-in-direction 'below)
+ (shrink-window 1))))
+
+(defun objed-move-window-line-down ()
+ "Move window line down."
+ (interactive)
+ (cond ((and (window-in-direction 'above)
+ (window-in-direction 'below))
+ (enlarge-window 1))
+ ((window-in-direction 'above)
+ (shrink-window 1))
+ ((window-in-direction 'below)
+ (enlarge-window 1))))
+
+
+(defun objed-move-window-line-left ()
+ "Move window line to the left."
+ (interactive)
+ (cond ((and (window-in-direction 'left)
+ (window-in-direction 'right))
+ (shrink-window-horizontally 1))
+ ((window-in-direction 'left)
+ (enlarge-window-horizontally 1))
+ ((window-in-direction 'right)
+ (shrink-window-horizontally 1))))
+
+(defun objed-move-window-line-right ()
+ "Move window line to the right."
+ (interactive)
+ (cond ((and (window-in-direction 'left)
+ (window-in-direction 'right))
+ (enlarge-window-horizontally 1))
+ ((window-in-direction 'left)
+ (shrink-window-horizontally 1))
+ ((window-in-direction 'right)
+ (enlarge-window-horizontally 1))))
+
+
(defun objed-indent-left (arg)
"Indent all lines in object leftward by ARG space."
(interactive "p")