From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ihor Radchenko Subject: Re: [Proposal] Buffer Lenses and the Case of Org-Mode (also, Jupyter) Date: Thu, 25 Apr 2019 11:25:31 +0800 Message-ID: <87v9z2ojf8.fsf@yantar92-laptop.i-did-not-set--mail-host-address--so-tickle-me> References: Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:51642) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hJV2K-0000S5-Ol for emacs-orgmode@gnu.org; Wed, 24 Apr 2019 23:27:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hJV1t-0004i1-Ar for emacs-orgmode@gnu.org; Wed, 24 Apr 2019 23:26:34 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]:42923) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hJV1t-0004gX-2K for emacs-orgmode@gnu.org; Wed, 24 Apr 2019 23:26:33 -0400 Received: by mail-pl1-x634.google.com with SMTP id x15so5973597pln.9 for ; Wed, 24 Apr 2019 20:26:32 -0700 (PDT) In-Reply-To: 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: Dmitrii Korobeinikov , emacs-orgmode --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Dear Dmitrii, I strongly support the proposal. Another use case for me is to speed up agenda creation. I usually do not like to split my org files into too many. However, it results in very large and slow org buffers later. If I can store some parts of the org files externally and only show them if some condition is met (say, for certain todo state of the parent entry), it would speed up my agenda and the buffer navigation quite significantly. Example: #+begin_src org * Projects ** 2019 *** TODO Project 1 :ORG: # the project contents is stored in an external file :PROPERTIES: :ORG-FILE: project1.org :END: # beginning of a lense, which is linked to project1.org **** Heading 1 **** Heading 2 And many headings below # ... # end of the lense *** HOLD Project 2 :ORG: :PROPERTIES: :ORG-FILE: project2.org :END: # beginning of another lense # nothing is included here because the project state is =3DHOLD=3D # end of the lense #+end_src Let me put some historical context to this proposal. There was a discussion of similar feature in emacs-dev last year. The idea was to implement nested buffers: https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00863.html=20 There are also several projects, which implement part of the functionality you described: =2D mmm-mode: https://github.com/purcell/mmm-mode =2D polymode: https://github.com/polymode/polymode Best, Ihor Dmitrii Korobeinikov writes: > I have written a proposal for buffer lenses which could prove useful in > Org-mode, especially for interacting with code. > If you are interested, please, see this link: > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D35419 =2D-=20 Ihor Radchenko, --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEERZAHPFbUe3JemmzmZHB2Kn2hHYsFAlzBKKsACgkQZHB2Kn2h HYvhWggAhFWJ0H2Ee1smwohWa3/IZuHyT+DRVrK4Kjg3zf++Akx5Ji+kdaq2/NEl dPjEyU+zg5/vst5vbspqnrxdKwDnT1OXkiNwkOAvsOqrcugaWzn++LgzjyHvlsyA 879XojEaWi4ZqJnvJcOjIcYP4fRlhUYgw9VuB0zTZs7Qz81ArqKpXepcgyTAfSNq VpLiO2fOtYil+RAkBwb8H/+iBs6r6/f80AwMKIASTStV9lyNf+z1Rk3zF94v4ICR g0zIG+Bd1uxHLX9f2/l0GlLkqpvXmJottWurQ7wgzKeU48bzTXfQcLZeoV1Odrfd 14vDeXG7s7pjxph8mRK2kQkSez/wzA== =oQYC -----END PGP SIGNATURE----- --=-=-=--