[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed 5c20c43 176/216: Improve org element/block object
From: |
Stefan Monnier |
Subject: |
[elpa] externals/objed 5c20c43 176/216: Improve org element/block object, don't inherit from paragraph |
Date: |
Tue, 8 Jan 2019 12:29:34 -0500 (EST) |
branch: externals/objed
commit 5c20c430e5c077ff53810ed29a313641ad5c36ee
Author: Clemera <address@hidden>
Commit: Clemera <address@hidden>
Improve org element/block object, don't inherit from paragraph
---
objed-objects.el | 30 +++++++++++++++++++++++++++---
1 file changed, 27 insertions(+), 3 deletions(-)
diff --git a/objed-objects.el b/objed-objects.el
index ecffa82..def9a75 100644
--- a/objed-objects.el
+++ b/objed-objects.el
@@ -2154,11 +2154,35 @@ non-nil the indentation block can contain empty lines."
:try-prev
(outline-previous-visible-heading 1))
-(objed-define-object org paragraph
+;; blocks are "elements" in current mode
+(objed-define-object org block
:mode org-mode
:get-obj
- (objed-make-object
- :obounds (objed-bounds-from-region-cmd #'org-mark-element)))
+ (let ((bounds (objed-bounds-from-region-cmd #'org-mark-element))
+ (ibeg nil)
+ (ibounds nil))
+ (when bounds
+ (goto-char (car bounds))
+ (setq ibounds (cl-dolist (lr '((":\\(PROPERTIES\\|LOGBOOK\\):" . ":END:")
+ ("#\\+BEGIN_SRC.*$" . "#\\+END_SRC")
+ ("#\\+begin_src.*$" . "#\\+end_src")
+ ("^#\\+begin_example.*$" .
"#\\+end_example$")
+ ("^#\\+BEGIN_EXAMPLE.*$" .
"#\\+END_EXAMPLE$")))
+ (when (and (re-search-forward (car lr) (cdr bounds) t)
+ (skip-chars-forward "\r\n \t"
(line-beginning-position 2))
+ (setq ibeg (point))
+ (progn (goto-char (cdr bounds))
+ (re-search-backward (cdr lr) (car
bounds) t)))
+ (skip-chars-backward " \t")
+ (cl-return (cons ibeg (point))))))
+ (goto-char (cdr bounds))
+ (skip-chars-backward "\r\n \t")
+ ;; padding
+ (skip-chars-forward "\r\n" (1+ (1+ (point))))
+ (setf (cdr bounds) (point))
+ (objed-make-object :obounds bounds :ibounds ibounds))))
+
+
(defvar comint-prompt-regexp nil)
(declare-function comint-next-prompt "ext:comint")
- [elpa] externals/objed 78116f5 151/216: Mention Readme and News, (continued)
- [elpa] externals/objed 78116f5 151/216: Mention Readme and News, Stefan Monnier, 2019/01/08
- [elpa] externals/objed d801608 148/216: Cleanup for extend, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 6ed0f62 146/216: Merge remote-tracking branch 'origin/master', Stefan Monnier, 2019/01/08
- [elpa] externals/objed 862d168 164/216: Fix ipipe schedule timer, Stefan Monnier, 2019/01/08
- [elpa] externals/objed a0a8f81 158/216: Improve exchange point and mark, Stefan Monnier, 2019/01/08
- [elpa] externals/objed e9bfd92 156/216: Switch code order to avoid confusing compile warnings, Stefan Monnier, 2019/01/08
- [elpa] externals/objed add4b8f 154/216: Markup again, Stefan Monnier, 2019/01/08
- [elpa] externals/objed cf1db37 140/216: Allow users to define a function to allow/prevent objed init, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 26c88ba 168/216: Revert to 0, 1 is needed for 10>, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 39095c2 143/216: Add type specifications to defcustom calls, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 5c20c43 176/216: Improve org element/block object, don't inherit from paragraph,
Stefan Monnier <=
- [elpa] externals/objed 30eb150 166/216: Improve exit minibuffer for ipipe, Stefan Monnier, 2019/01/08
- [elpa] externals/objed fa3b6db 161/216: Add include leading/trailing whitespace commands, Stefan Monnier, 2019/01/08
- [elpa] externals/objed de2d6e1 162/216: Toggle for repeating objed-extend, Stefan Monnier, 2019/01/08
- [elpa] externals/objed ec04ce3 182/216: Simplify exit-op logic, Stefan Monnier, 2019/01/08
- [elpa] externals/objed d0bc8c7 165/216: Update docs for ipipe, Stefan Monnier, 2019/01/08
- [elpa] externals/objed ee50345 170/216: Rephrase, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 76779dc 197/216: Adjust activation condition again, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 74b3595 181/216: Adjust textblock object, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 3a983ab 205/216: Read arguments of rcmd after region is established, Stefan Monnier, 2019/01/08
- [elpa] externals/objed 6092485 173/216: Ignore cases where object could not be found (range = nil), Stefan Monnier, 2019/01/08