babel: New function to mark the body of a src block.

* ob.el (org-babel-mark-block): New function to mark the body
    of a src block in the style of `mark-defun'.

    * ob-keys.el (org-babel-key-bindings): Bind
    `org-babel-mark-block' to C-c C-v C-M-h
This commit is contained in:
Dan Davison 2010-10-18 20:15:35 +01:00
parent c9bb51e883
commit a6d30d3b9b
2 changed files with 14 additions and 1 deletions

View file

@ -83,7 +83,8 @@ functions which are assigned key bindings, and see
("a" . org-babel-sha1-hash) ("a" . org-babel-sha1-hash)
("h" . org-babel-describe-bindings) ("h" . org-babel-describe-bindings)
("\C-x" . org-babel-do-key-sequence-in-edit-buffer) ("\C-x" . org-babel-do-key-sequence-in-edit-buffer)
("x" . org-babel-do-key-sequence-in-edit-buffer)) ("x" . org-babel-do-key-sequence-in-edit-buffer)
("\C-\M-h" . org-babel-mark-block))
"Alist of key bindings and interactive Babel functions. "Alist of key bindings and interactive Babel functions.
This list associates interactive Babel functions This list associates interactive Babel functions
with keys. Each element of this list will add an entry to the with keys. Each element of this list will add an entry to the

View file

@ -1114,6 +1114,18 @@ With optional prefix argument ARG, jump backward ARG many source blocks."
(defvar org-babel-load-languages) (defvar org-babel-load-languages)
;;;###autoload ;;;###autoload
(defun org-babel-mark-block ()
"Mark current src block"
(interactive)
((lambda (head)
(when head
(save-excursion
(goto-char head)
(looking-at org-babel-src-block-regexp))
(push-mark (match-end 5) nil t)
(goto-char (match-beginning 5))))
(org-babel-where-is-src-block-head)))
(defun org-babel-demarcate-block (&optional arg) (defun org-babel-demarcate-block (&optional arg)
"Wrap or split the code in the region or on the point. "Wrap or split the code in the region or on the point.
When called from inside of a code block the current block is When called from inside of a code block the current block is