[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [patch] better(?) indention for cdlatex-environment
From: |
Nicolas Goaziou |
Subject: |
Re: [O] [patch] better(?) indention for cdlatex-environment |
Date: |
Tue, 17 Feb 2015 09:51:08 +0100 |
Rasmus <address@hidden> writes:
> + ;; cdlatex-environment always return nil. Therefore, capture output
> + ;; first and determine if an environment was selected.
> + (let* ((beg (point-marker))
> + (end (copy-marker (point) t))
> + (env (org-trim
> + (or (progn (ignore-errors (cdlatex-environment environment item))
> + (delete-and-extract-region beg end))
> + ""))))
The `or' is not necessary: `delete-and-extract-region' already returns
the empty string when markers don't move.
(env (progn (ignore-errors (cdlatex-environment environment item))
(org-trim (delete-and-extract-region beg end)))
> + (when (org-string-nw-p env)
> + ;; Get indentation of next line unless at column 0.
> + (let ((ind (if (bolp) 0
> + (save-excursion
> + (org-return-indent)
> + (prog1 (org-get-indentation)
> + (when (and (skip-chars-forward " \t") (eolp))
> + (delete-region beg (point)))))))
Nitpick
(when (progn (skip-chars-forward " \") (eolp))
...)
since you're not really interested in the return value of
`skip-chars-forward' (which is always non-nil).
> + (bol (and (skip-chars-backward " \t") (bolp))))
Ditto.
> + ;; Insert a newline before environment unless at column zero
> + ;; to "escape" the current line. Insert a newline if
> + ;; something is one the same line as \end{ENVIRONMENT}.
> + (insert (concat (unless bol "\n")
> + env
> + (and (skip-chars-forward " \t") (not (eolp)) "\n")))
Ditto.
> + (unless (zerop ind)
> + (let* ((element (org-element-at-point))
> + (elm-beg (org-element-property :begin element))
> + (elm-end (copy-marker
> + (save-excursion
> + (goto-char (org-element-property :end element))
> + (skip-chars-backward " \t\n\r")
> + (point)))))
> + (save-excursion
> + (goto-char elm-beg)
> + (beginning-of-line)
> + (while (<= (point) elm-end)
> + (org-indent-to-column ind)
> + (forward-line)))
> + (set-marker elm-end nil)))))
I don't think you need `org-element-at-point' at all. You already have
BEG and END markers available. I didn't test it, but this should be
enough to indent the environment.
Also you shouldn't apply `org-indent-to-column' when line is empty.
Regards,
- Re: [O] [patch] better(?) indention for cdlatex-environment, (continued)
- 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
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/15
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/16
- Re: [O] [patch] better(?) indention for cdlatex-environment,
Nicolas Goaziou <=
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/17
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/17
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/17
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/18
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/19
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/19
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/19
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/19
- Re: [O] [patch] better(?) indention for cdlatex-environment, Rasmus, 2015/02/19
- Re: [O] [patch] better(?) indention for cdlatex-environment, Nicolas Goaziou, 2015/02/20