[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed 68c2a1e 01/59: Improve quit window, reformat if i
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/objed 68c2a1e 01/59: Improve quit window, reformat if in edit buffer |
Date: |
Sun, 24 Mar 2019 06:06:33 -0400 (EDT) |
branch: externals/objed
commit 68c2a1e3ec2fe07fbcc2d27340d1ff61aa4e9bfe
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Improve quit window, reformat if in edit buffer
---
objed.el | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/objed.el b/objed.el
index 8a6d7d0..a905183 100644
--- a/objed.el
+++ b/objed.el
@@ -589,28 +589,29 @@ Accommodate for `objed-extend'."
(objed-exchange-point-and-mark)
(call-interactively 'backward-word)))
-(defun objed-quit-window (&optional kill window)
+(defun objed-quit-window-or-reformat ()
"Quit window for objed.
-if KILL is non-nil kill the buffer. WINDOW defaults
-to the selected one."
- (interactive "P")
+if KILL is non-nil kill the buffer. WINDOW defaults to the
+selected one."
+ (interactive)
(let* ((overriding-terminal-local-map nil)
(nc (key-binding "q" nil t)))
- (if (eq nc 'quit-window)
- (progn (objed--reset)
- (quit-window kill window)
- (objed-activate 'line))
- (unless (one-window-p)
- (objed--reset)
- (delete-window)
- (objed-activate 'line)))))
+ (if (string-match "insert" (symbol-name nc))
+ (cond ((and (not (eq last-command this-command))
+ (or (objed--at-comment-p)
+ (objed--in-string-or-comment-p)))
+ (call-interactively 'fill-paragraph)
+ (objed--switch-to 'textblock))
+ ((objed--switch-to 'defun)
+ (indent-region (objed--beg) (objed--end))))
+ (call-interactively nc))))
(defvar objed-map
(let ((map (make-sparse-keymap)))
;; block unused chars by default
- (dolist (char (number-sequence ?a ?z))
- (define-key map (format "%c" char) 'objed-undefined))
+ (dolist (char (number-sequence ?a ?z))
+ (define-key map (format "%c" char) 'objed-undefined))
;; keep map active for numeric args
(dolist (n (number-sequence ?0 ?9))
(define-key map (format "%c" n) 'digit-argument)
@@ -620,7 +621,7 @@ to the selected one."
(define-key map (kbd "C-g") 'objed-quit)
;; TODO: switch with q, so quit window is qq?
(define-key map "g" 'objed-quit)
- (define-key map "q" 'objed-quit-window)
+ (define-key map "q" 'objed-quit-window-or-reformat)
(define-key map (kbd "?") 'objed-show-top-level)
;; TODO: support repeated invokation
(define-key map (kbd "C-u") 'universal-argument)
@@ -771,7 +772,7 @@ to the selected one."
;; TODO: start query replace in current object,
;; or for all
(define-key map "%" 'objed-replace)
- ;; (objed-define-op nil objed-replace current))
+ ;; (objed-define-op nil objed-replace current))
(define-key map "&"
(objed-define-op nil objed-pipe-region))
@@ -2502,8 +2503,7 @@ temporary to `objed--indent-map'"
Moves point over any whitespace afterwards."
(interactive "r")
- (indent-region beg end)
- (objed--switch-to 'region))
+ (indent-region beg end))
(defun objed-indent-left (arg)
"Indent all lines in object leftward by ARG space."
- [elpa] externals/objed bad4e56 25/59: Add objed append mode binding "W", (continued)
- [elpa] externals/objed bad4e56 25/59: Add objed append mode binding "W", Clemens Radermacher, 2019/03/24
- [elpa] externals/objed d2e3da3 24/59: Add objed-eval binding ":", Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 23005a3 23/59: Add object to register functionality, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed a341a60 22/59: Fix identifier movement, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 6f50de1 20/59: Add objed-append-mode for objed-copy repeat, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 850c2e9 16/59: Improve object next identifier, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed c893402 17/59: Unify no next/prev message, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 4936ef0 18/59: Optionally use expand-region for extend expansion, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 00fd599 09/59: Skip leading ws on first/last instance command, too, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed d56bf74 07/59: Don't ignore errors for try-next/prev, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 68c2a1e 01/59: Improve quit window, reformat if in edit buffer,
Clemens Radermacher <=
- [elpa] externals/objed 5761dcf 29/59: Obey lexical binding for eval op, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 77fad58 19/59: If region is activated, deactivate it first on objed-quit, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 1c04620 49/59: Skip docstring for inner elisp defun object, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed e771f06 14/59: Improve ace object, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 395708b 13/59: Update object bindings, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 7e0bf6f 12/59: Change binding for word object in object map, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed c000147 08/59: Error when no next/prev object when using next/prev command, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed ae7b3e8 06/59: Dont exit objed on macro recording/execution, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 033b5aa 05/59: Exchange point and mark when toggling side selection, Clemens Radermacher, 2019/03/24
- [elpa] externals/objed 2170235 02/59: Update description, Clemens Radermacher, 2019/03/24