From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Cherian Subject: Re: org-babel: insert named source block Date: Wed, 15 Nov 2017 16:12:24 -0800 Message-ID: <2114c571-bb72-0174-f03d-885ca2e1f5ca@gmail.com> References: <4B3272F6-C119-4353-B2B9-99BEBB5AFC37@ucsd.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eF7nE-0007yi-GJ for emacs-orgmode@gnu.org; Wed, 15 Nov 2017 19:12:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eF7nB-000290-9W for emacs-orgmode@gnu.org; Wed, 15 Nov 2017 19:12:32 -0500 Received: from mail-pg0-x232.google.com ([2607:f8b0:400e:c05::232]:47155) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eF7nB-000285-31 for emacs-orgmode@gnu.org; Wed, 15 Nov 2017 19:12:29 -0500 Received: by mail-pg0-x232.google.com with SMTP id o7so19211700pgc.4 for ; Wed, 15 Nov 2017 16:12:29 -0800 (PST) In-Reply-To: <4B3272F6-C119-4353-B2B9-99BEBB5AFC37@ucsd.edu> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: "Berry, Charles" Cc: "emacs-orgmode@gnu.org" Thanks. That works well, but only shows named source blocks in the particular file. Is there a way to make it show library of babel blocks too? Deepak On 11/15/2017 02:56 PM, Berry, Charles wrote: >> On Nov 15, 2017, at 11:04 AM, Deepak Cherian wrote: >> >> Has anyone here managed to configure ivy or helm to show a list of named source blocks that org knows about? >> >> I am imagining this workflow: >> 1. M-x org-babel-insert-named-source-block (imaginary function) >> 2. List of named source blocks pops up >> 3. Hit enter and "#+call: name-of-source-block()" is inserted at point. >> > org has its own function for listing named src-blocks. > > #+BEGIN_SRC emacs-lisp > (defun my-insert-named-src-block > ( &optional template ) > (interactive) > (let ((template (or template "#+call: %s()\n")) > (src-block > (completing-read "Enter src block name[or TAB or ENTER]: " (org-babel-src-block-names)))) > (unless (string-equal "" src-block) > (insert (format template src-block))))) > #+END_SRC > > M-x my-insert-named-src-block TAB > > HTH, > > Chuck