[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [patch] better(?) indention for cdlatex-environment
From: |
Rasmus |
Subject: |
[O] [patch] better(?) indention for cdlatex-environment |
Date: |
Tue, 10 Feb 2015 12:28:53 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Hi,
Cdlatex environment inserted via org-cdlatex-environment-indent are pretty
bad at getting the right indention. Consider:
- concept :: a long description of concept |
Where | is cursor. When I call org-cdlatex-environment-indent, I expect
- concept :: a long description of concept
\begin{equation}
|
\end{equation}
But I get
- concept :: a long description of concept
\begin{equation}
|
\end{equation}
This is because it determines the indention after the element is inserted
at column zero. So the correct indention /is/ column zero but I wanted it
to be part of the description. IOW I want Org to use the correct
indention of when the time when I call the command.
Note that I can still get an environment at column zero by issuing the
command here:
- concept :: a long description of concept
|
This patch just fixes this for org-cdlatex-indent-environment only, but
maybe it's more correct to fix it in org-indent-region?
—Rasmus
--
. . . It begins of course with The Internet. A Net of Peers
>From 1a61c446fa1c92df9ba28a68d13188c296b8b718 Mon Sep 17 00:00:00 2001
From: rasmus <address@hidden>
Date: Tue, 10 Feb 2015 12:02:59 +0100
Subject: [PATCH] org.el: Change indention for cdlatex environments
* org.el (org-cdlatex-environment-indent): Use different indent
algorithm based on content above the new latex-environment.
---
lisp/org.el | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index 9bc67a8..e0a8842 100755
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -18647,10 +18647,24 @@ Revert to the normal definition outside of these
fragments."
(defun org-cdlatex-environment-indent (&optional environment item)
"Execute `cdlatex-environment' and indent the inserted environment."
(interactive)
- (cdlatex-environment environment item)
- (let ((element (org-element-at-point)))
- (org-indent-region (org-element-property :begin element)
- (org-element-property :end element))))
+ (let* ((ind (org-get-indentation))
+ (ind-str (make-string ind ? )))
+ (cdlatex-environment environment item)
+ (let* ((element (org-element-at-point))
+ (beg (org-element-property :begin element))
+ (end (org-element-property :end element)))
+ ;; Make a rough estimate of the indention. We do this to
+ ;; because `org-indent-region' will always guess column zero,
+ ;; when dealing with e.g. description items.
+ (save-excursion
+ ;; Walk backwards. Otherwise we'd need markers.
+ (goto-char end)
+ (beginning-of-line)
+ (while (>= (point) beg)
+ (insert ind-str)
+ (forward-line -1)))
+ ;; indent cursor
+ (forward-char ind))))
;;;; LaTeX fragments
--
2.3.0
- [O] [patch] better(?) indention for cdlatex-environment,
Rasmus <=
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/10
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/10
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/11
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/11
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/11
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/13
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/13
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/13
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/14
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/14