+1 on this.

I also have some janky code to do things like go to the beginning/end of
the value in a src block. Here is my solution to mark the code in a src
block.

(defun ob-ipython-mark-code ()
  "Mark the code in the block."
  (interactive)
  (org-edit-special)
  (let ((p0 (point-min))
(p1 (point-max)))
    (goto-char p0)
    (org-edit-src-exit)
    (set-mark (point))
    (goto-char (+ (point) (- p1 2)))))

John

-----------------------------------
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu


On Mon, Feb 19, 2018 at 3:29 PM, Somelauw . <somel...@gmail.com> wrote:

> Some org-mode elements expose "contents-begin" and "contents-end"
> properties as buffer positions, whereas other elements such as verbatim and
> org-src-block expose a "value" property in the form of a string.
>
> I think it would be preferable to also expose the value by beginning and
> ending buffer positions for the following reasons:
> - Consistency with elements that expose contents-begin and contents-end.
> - More powerful. In my evil-org plugin I want to be able to mark the value
> property of the org element at point (so the user can do stuff like easily
> copy the code of the current code block), but to do so I need the beginning
> and ending position in the buffer of "value". The org-element API does
> currently not provide clean way to retrieve these positions.
> - It's usually more efficient to return the beginning and ending positions
> than to retrieve the substring that contains the value, which may require a
> large buffer partition to be copied.
>
> Kind regards,
> Somelauw

Reply via email to