[Orgmode] org-babel - utility to ease chopping src chunks into smaller org entries

2010-09-18 Thread Richard Riley

I often find myself chopping a large source code block into smaller
entities with their own notes, tags and comments etc. This small utility
facilitates that by wrapping the current region with org entry markers
and src code delimiters. It assumes you are in a currently src block.

http://splash-of-open-sauce.blogspot.com/2010/09/mark-region-as-src-code-if-prefix-used.html

Its currently hardcoded for emacs-lisp but it might be useful nonetheless.

(Anyone know how to make blogspot line wrap?)


r.


___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] org-babel - utility to ease chopping src chunks into smaller org entries

2010-09-19 Thread Eric Schulte
Hi Richard,

This is a good idea, I too frequently find myself splitting code blocks.
How about this following alternative implementation which should be
smart enough to notice if it is inside of a code block, and should work
across any code block type.
--8<---cut here---start->8---
(defun org-babel-split-block-maybe (&optional arg)
  "Split the current source code block on the cursor."
  (interactive "P")
  ((lambda (info)
 (if info
 (let ((lang (nth 0 info))
   (indent (make-string (nth 6 info) ? ))
   (stars (concat (make-string (org-current-level) ?*) " ")))
   (insert (concat (if (looking-at "^") "" "\n")
   indent "#+end_src\n"
   (if arg stars indent) "\n"
   indent "#+begin_src " lang
   (if (looking-at "[\n\r]") "" "\n  ")))
   (when arg (previous-line) (move-end-of-line 1)))
   (message "Not in src block.")))
   (org-babel-get-src-block-info)))
--8<---cut here---end--->8---

Let me know what you think.  I notice your implementation uses regions,
where as this one does not, so it's possible I left out some
functionality.  I'd like to include some version of this functionality
into Org-mode core.

Best -- Eric

Richard Riley  writes:

> I often find myself chopping a large source code block into smaller
> entities with their own notes, tags and comments etc. This small utility
> facilitates that by wrapping the current region with org entry markers
> and src code delimiters. It assumes you are in a currently src block.
>
> http://splash-of-open-sauce.blogspot.com/2010/09/mark-region-as-src-code-if-prefix-used.html
>
> Its currently hardcoded for emacs-lisp but it might be useful nonetheless.
>
> (Anyone know how to make blogspot line wrap?)
>
>
> r.
>
>
> ___
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode