From: Xebar Saram <zeltakc@gmail.com>
To: Marco Wahl <marcowahlsoft@gmail.com>, org mode <emacs-orgmode@gnu.org>
Subject: Re: function for inserting a block
Date: Sat, 21 Oct 2017 16:32:33 +0300 [thread overview]
Message-ID: <CAOQHXPrQ7Mzu1cnuw1osbYZgfguNJgi=2dgrivOZeGstfXD_nQ@mail.gmail.com> (raw)
In-Reply-To: <84o9p07lve.fsf@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2563 bytes --]
thx thats perfect
Z
On Sat, Oct 21, 2017 at 2:59 PM, Marco Wahl <marcowahlsoft@gmail.com> wrote:
> The following message is a courtesy copy of an article
> that has been posted to gmane.emacs.orgmode as well.
>
> Hi!
>
> Xebar Saram <zeltakc@gmail.com> writes:
>
> > this looks really cool and would love to try. as a non technical user,
> how
> > does one use the patch to get the functionality? is there a way to
> create a
> > clean function only version from the patch i can try?
>
> You could simply pick the relevant parts from the patch and evaluate
> them.
>
> Concretely you could do:
>
> 1. Copy Eric's code to empty buffer *scratch*. The relevant code is
>
> #+BEGIN_SRC elisp
> (defcustom org-structure-predefined-blocks
> '("SRC" "EXAMPLE" "QUOTE" "VERSE" "VERBATIM" "CENTER" "COMMENT" "EXPORT")
> "Block structure completion names."
> :group 'org-completion
> :type '(repeat string)
> :package-version '(Org . "9.1.3"))
>
> (defun org-insert-structure-template (&optional type)
> "Insert a block structure of the type #+BEGIN_FOO/#+END_FOO.
> Prompts for a block type, and inserts the block. With an active
> region, wrap the region in the block. With an element under
> point, wrap the element in the block. Otherwise, insert an empty
> block."
> (interactive)
> (setq type (or type (completing-read "Block type: "
> org-structure-predefined-blocks)))
> (unless (use-region-p)
> (when (org-element-at-point)
> (org-mark-element)))
> (let ((s (if (use-region-p)
> (region-beginning)
> (point)))
> (e (copy-marker (if (use-region-p)
> (region-end)
> (point))
> t))
> column)
> (when (string-equal (downcase type) "example")
> (org-escape-code-in-region s e))
> (goto-char s)
> (setq column (current-indentation))
> (beginning-of-line)
> (indent-to column)
> (insert (format "#+BEGIN_%s\n" type))
> (goto-char e)
> (if (bolp)
> (progn
> (skip-chars-backward " \n\t")
> (forward-line))
> (end-of-line)
> (insert "\n"))
> (indent-to column)
> (insert (format "#+END_%s\n"
> type))
> (set-marker e nil)))
>
> (org-defkey org-mode-map "\C-c\C-xw" 'org-insert-structure-template)
> #+END_SRC
>
> 2. In buffer *scratch* do
>
> M-x eval-buffer
>
> 3. Voila! Check out C-c C-x w in an org mode buffer.
>
>
> Best regards
> Marco
>
[-- Attachment #2: Type: text/html, Size: 3757 bytes --]
next prev parent reply other threads:[~2017-10-21 13:32 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-03 0:25 function for inserting a block Eric Abrahamsen
2017-09-03 2:21 ` Adam Porter
2017-09-03 3:06 ` Kaushal Modi
2017-09-03 3:34 ` Eric Abrahamsen
2017-09-03 8:10 ` Nicolas Goaziou
2017-09-03 8:19 ` Adam Porter
2017-09-03 8:23 ` Nicolas Goaziou
2017-09-03 15:56 ` Eric Abrahamsen
2017-09-03 18:31 ` Josiah Schwab
2017-09-03 19:28 ` Eric Abrahamsen
2017-09-03 20:26 ` Josiah Schwab
2017-09-03 20:44 ` Eric Abrahamsen
2017-09-08 18:52 ` Eric Abrahamsen
2017-09-10 12:44 ` Nicolas Goaziou
2017-09-10 18:39 ` Eric Abrahamsen
2017-09-29 20:09 ` Nicolas Goaziou
2017-09-30 20:26 ` Eric Abrahamsen
2017-10-05 14:47 ` Nicolas Goaziou
2017-10-07 20:03 ` Eric Abrahamsen
2017-10-14 10:52 ` Nicolas Goaziou
2017-10-16 19:46 ` Eric Abrahamsen
2017-10-16 19:59 ` Eric Abrahamsen
2017-10-17 7:46 ` Nicolas Goaziou
2017-10-17 16:27 ` Eric Abrahamsen
2017-10-17 21:33 ` Nicolas Goaziou
2017-10-17 21:43 ` Eric Abrahamsen
2017-10-17 22:03 ` Eric Abrahamsen
2017-10-18 6:45 ` Carsten Dominik
2017-10-18 14:58 ` Eric Abrahamsen
2017-10-19 15:47 ` Carsten Dominik
2017-10-20 18:04 ` Eric Abrahamsen
2017-10-20 18:39 ` Kaushal Modi
2017-10-20 19:02 ` Kaushal Modi
2017-10-20 21:15 ` Eric Abrahamsen
2017-10-20 21:13 ` Eric Abrahamsen
2017-10-20 21:43 ` Kaushal Modi
2017-10-21 11:30 ` Xebar Saram
2017-10-21 11:59 ` Marco Wahl
2017-10-21 13:32 ` Xebar Saram [this message]
2017-10-21 15:56 ` Eric Abrahamsen
2017-10-23 10:52 ` Kaushal Modi
2017-10-23 14:00 ` Carsten Dominik
2017-10-23 14:46 ` Kaushal Modi
2017-10-23 15:11 ` Eric Abrahamsen
2017-10-23 16:55 ` Nicolas Goaziou
2017-10-24 0:18 ` Eric Abrahamsen
2017-10-24 0:20 ` Eric Abrahamsen
2017-10-24 12:10 ` Nicolas Goaziou
2017-10-28 22:27 ` Eric Abrahamsen
2017-10-30 11:05 ` Nicolas Goaziou
2017-10-30 15:08 ` Eric S Fraga
2017-10-30 16:22 ` Eric Abrahamsen
2017-10-30 17:57 ` Eric Abrahamsen
2017-11-05 9:06 ` Nicolas Goaziou
2017-11-05 14:24 ` Kaushal Modi
2017-11-05 14:37 ` Kaushal Modi
2017-11-06 13:48 ` Nicolas Goaziou
2017-11-06 16:23 ` Kaushal Modi
2017-11-05 21:25 ` Eric Abrahamsen
2017-12-10 9:36 ` Thorsten Jolitz
2017-10-22 9:54 ` Nicolas Goaziou
2017-10-22 17:49 ` Eric Abrahamsen
2017-11-08 11:20 ` Bastien
2017-11-08 11:44 ` Nicolas Goaziou
2017-11-08 12:14 ` Bastien
2017-11-08 12:25 ` Restore old easy template feature (Re: function for inserting a block) Kaushal Modi
2017-11-08 12:43 ` Kaushal Modi
2017-11-08 14:08 ` Bastien Guerry
2017-12-18 22:07 ` Matt Price
2017-12-19 1:44 ` Eric Abrahamsen
2017-12-19 10:04 ` Rasmus
2017-12-19 17:49 ` Matt Price
2017-11-08 13:35 ` Nicolas Goaziou
2017-11-08 13:34 ` function for inserting a block Nicolas Goaziou
2017-11-08 14:34 ` Bastien Guerry
2017-11-08 16:01 ` Eric Abrahamsen
2017-11-08 16:33 ` William Denton
2017-11-08 14:07 ` Rasmus
2017-11-08 17:09 ` Berry, Charles
2017-11-08 17:28 ` Nicolas Goaziou
2017-11-08 18:24 ` Thomas S. Dye
2017-11-08 18:51 ` Takaaki Ishikawa
2017-11-08 20:10 ` Eric Abrahamsen
2017-11-08 22:28 ` Nicolas Goaziou
2017-11-09 4:31 ` Thomas S. Dye
2017-11-09 7:55 ` Carsten Dominik
2017-11-12 4:35 ` Matt Lundin
2017-11-12 6:08 ` numbchild
2017-11-09 14:46 ` Rasmus
2017-11-09 16:11 ` Rasmus
2017-11-09 16:50 ` Eric Abrahamsen
2017-11-10 9:31 ` Rasmus
2017-11-10 17:27 ` Eric Abrahamsen
2017-11-11 16:51 ` Thomas S. Dye
2017-11-14 21:36 ` Eric Abrahamsen
2017-11-15 13:13 ` numbchild
2017-11-15 16:24 ` Eric Abrahamsen
2017-11-17 16:19 ` numbchild
2017-11-17 19:14 ` Eric Abrahamsen
2017-11-18 0:09 ` numbchild
2017-11-20 13:40 ` Rasmus
2017-11-20 16:49 ` Eric Abrahamsen
2017-11-11 4:13 ` stardiviner
[not found] <mailman.107.1510246818.12116.emacs-orgmode@gnu.org>
2017-11-10 4:19 ` James Harkins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAOQHXPrQ7Mzu1cnuw1osbYZgfguNJgi=2dgrivOZeGstfXD_nQ@mail.gmail.com' \
--to=zeltakc@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=marcowahlsoft@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.