Hi again

looks great but i think there may be a bug. if there is 1 line then issues
the function works perfect (although no prompt, which for 1 line is ideal).
but using C-u before the M-x dosent seem to do anything at all, it just
wraps the current line. do i need any dependencies or doing something wrong?

thx alot again, i hope other people will find it as useful as i do (i
literally use it 20-30 times a day....)


On Tue, Jul 29, 2014 at 4:52 PM, Thorsten Jolitz <tjol...@gmail.com> wrote:

> Thorsten Jolitz <tjol...@gmail.com> writes:
>
> > Xebar Saram <zelt...@gmail.com> writes:
>
> This is what I got in my init.el now (improved version with global
> keybindings). And I like, will probably become one of those commands I
> use all the time.
>
> I already used it to wrap the following code in 3 src-blocks:
>
> #+begin_src emacs-lisp
> (defun tj/wrap-sexp-or-reg-in-src-block (&optional lang lines)
>   "Wrap sexp at point or region (point +-lines) in src block"
>   (interactive
>    (when current-prefix-arg
>      (list
>       (ido-completing-read "Org-Babel language: "
>                            (mapcar
>                             (lambda (--lang)
>                               (symbol-name (car --lang)))
>                             org-babel-load-languages)
>                            nil nil nil nil "emacs-lisp")
>       (read-number "Number of lines to wrap: " 1))))
>   (let* ((language (or lang "emacs-lisp"))
>          (marker (point-marker))
>          (beg (point))
>          (bol (bolp))
>          (end (if lines
>                   (save-excursion
>                     (forward-line lines) (point))
>                 (save-excursion
>                   (forward-sexp) (point))))
>          (cut-strg (buffer-substring beg end)))
>     (delete-region beg end)
>     (goto-char (marker-position marker))
>     (insert
>      (format
>       "%s#+begin_src %s\n%s%s#+end_src\n"
>       (if bol "" "\n")
>       language
>       cut-strg
>       (if lines "" "\n")))
>     (set-marker marker nil)))
> #+end_src
>
> #+begin_src emacs-lisp
> (global-set-key (kbd "C-c w l")
>                 (lambda ()
>                   (interactive)
>                   (let ((current-prefix-arg '(4)))
>                      (call-interactively
>                       'tj/wrap-sexp-or-reg-in-src-block))))
> #+end_src
>
>
> #+begin_src emacs-lisp
> (global-set-key (kbd "C-c w w")
>                 'tj/wrap-sexp-or-reg-in-src-block)
> #+end_src
>
> --
> cheers,
> Thorsten
>
>
>

Reply via email to