Hello, I'd like to be able to hide results, for example when I expect the them to span many lines. I know I can hit =tab= on the #+RESULTS: line, but I'd like to be able to set this automatically. My most recent effort: #+name: hideresults #+begin_src emacs-lisp :results none :exports none (add-to-invisibility-spec '(org-babel-hide-result . t)) #+end_src run like this #+header: :engine postgresql :dbhost "localhost" :dbuser "rmason" :database "test" :colnames yes #+header: :post hideresults #+name: pgquery #+begin_src sql select timestamp,nempty0 from settings where timestamp like '%20210528%' #+end_src produces #+RESULTS: pgquery : nil I'm sure there is a way to do this, but I need some pointers as to how. Thanks for any help. Roger Org mode version 9.2.3 (release_9.2.3-390-gfb5091 @ /home/rmason/.emacs.d/org-git/lisp/) GNU Emacs 27.2 (build 1, amd64-portbld-freebsd11.4, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
My initial thoughts are that this is very possible. This might be an
area where we could add a new defcustom on always hiding the results to
allow the user to choose it. Without looking at the code, I think it
would be pretty straight forward to make an excursion to the results
line, toggle showing it, then going back to where the point was.
I can take a crack at a patch in the next day or so if no one else wants
to or gets there first.
On 6/7/21 8:51 AM, Roger Mason wrote:
> Hello,
>
> I'd like to be able to hide results, for example when I expect the
> them to span many lines. I know I can hit =tab= on the #+RESULTS: line,
> but I'd like to be able to set this automatically.
>
> My most recent effort:
>
> #+name: hideresults
> #+begin_src emacs-lisp :results none :exports none
> (add-to-invisibility-spec '(org-babel-hide-result . t))
> #+end_src
>
> run like this
>
> #+header: :engine postgresql :dbhost "localhost" :dbuser "rmason" :database "test" :colnames yes
> #+header: :post hideresults
> #+name: pgquery
> #+begin_src sql
> select timestamp,nempty0 from settings where timestamp like '%20210528%'
> #+end_src
>
> produces
>
> #+RESULTS: pgquery
> : nil
>
> I'm sure there is a way to do this, but I need some pointers as to how.
>
> Thanks for any help.
>
> Roger
>
> Org mode version 9.2.3 (release_9.2.3-390-gfb5091 @
> /home/rmason/.emacs.d/org-git/lisp/)
>
> GNU Emacs 27.2 (build 1, amd64-portbld-freebsd11.4, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
>
[-- Attachment #1: Type: text/plain, Size: 2681 bytes --] This is doable with a hook and advice I think. The hook will hide the results if you use :results hide in the header. I had to use the advice to remove the results before hand, so that you toggle the visibility off. This is pretty lightly tested. you could eliminate (defun hide-results (&optional &rest args) (let ((results (cdr (assoc :results (third (org-babel-get-src-block-info 'light)))))) (when (string-match "hide" results) (org-babel-hide-result-toggle t)))) (add-hook 'org-babel-after-execute-hook 'hide-results) (advice-add 'org-babel-execute-src-block :before (lambda (&rest args) (org-babel-remove-result))) I guess there are other ways that might work too. #+BEGIN_SRC jupyter-python :results hide print(5) #+END_SRC #+RESULTS: : 5 John ----------------------------------- Professor John Kitchin (he/him/his) Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Mon, Jun 7, 2021 at 10:03 AM Nick Savage <nick@nicksavage.ca> wrote: > My initial thoughts are that this is very possible. This might be an > area where we could add a new defcustom on always hiding the results to > allow the user to choose it. Without looking at the code, I think it > would be pretty straight forward to make an excursion to the results > line, toggle showing it, then going back to where the point was. > > I can take a crack at a patch in the next day or so if no one else wants > to or gets there first. > > On 6/7/21 8:51 AM, Roger Mason wrote: > > Hello, > > > > I'd like to be able to hide results, for example when I expect the > > them to span many lines. I know I can hit =tab= on the #+RESULTS: line, > > but I'd like to be able to set this automatically. > > > > My most recent effort: > > > > #+name: hideresults > > #+begin_src emacs-lisp :results none :exports none > > (add-to-invisibility-spec '(org-babel-hide-result . t)) > > #+end_src > > > > run like this > > > > #+header: :engine postgresql :dbhost "localhost" :dbuser "rmason" > :database "test" :colnames yes > > #+header: :post hideresults > > #+name: pgquery > > #+begin_src sql > > select timestamp,nempty0 from settings where timestamp like '%20210528%' > > #+end_src > > > > produces > > > > #+RESULTS: pgquery > > : nil > > > > I'm sure there is a way to do this, but I need some pointers as to how. > > > > Thanks for any help. > > > > Roger > > > > Org mode version 9.2.3 (release_9.2.3-390-gfb5091 @ > > /home/rmason/.emacs.d/org-git/lisp/) > > > > GNU Emacs 27.2 (build 1, amd64-portbld-freebsd11.4, X toolkit, cairo > version 1.16.0, Xaw3d scroll bars) > > > > [-- Attachment #2: Type: text/html, Size: 3755 bytes --]
[-- Attachment #1: Type: text/plain, Size: 2936 bytes --] Woah woah. What is the jupyter-python language, John? On Mon, Jun 7, 2021, 15:44 John Kitchin <jkitchin@andrew.cmu.edu> wrote: > This is doable with a hook and advice I think. The hook will hide the > results if you use :results hide in the header. > > I had to use the advice to remove the results before hand, so that you > toggle the visibility off. This is pretty lightly tested. you could > eliminate > > (defun hide-results (&optional &rest args) > (let ((results (cdr (assoc :results (third (org-babel-get-src-block-info > 'light)))))) > (when (string-match "hide" results) > (org-babel-hide-result-toggle t)))) > > (add-hook 'org-babel-after-execute-hook 'hide-results) > > (advice-add 'org-babel-execute-src-block :before (lambda (&rest args) > (org-babel-remove-result))) > > I guess there are other ways that might work too. > > #+BEGIN_SRC jupyter-python :results hide > print(5) > #+END_SRC > > #+RESULTS: > : 5 > > > John > > ----------------------------------- > Professor John Kitchin (he/him/his) > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > @johnkitchin > http://kitchingroup.cheme.cmu.edu > > > > On Mon, Jun 7, 2021 at 10:03 AM Nick Savage <nick@nicksavage.ca> wrote: > >> My initial thoughts are that this is very possible. This might be an >> area where we could add a new defcustom on always hiding the results to >> allow the user to choose it. Without looking at the code, I think it >> would be pretty straight forward to make an excursion to the results >> line, toggle showing it, then going back to where the point was. >> >> I can take a crack at a patch in the next day or so if no one else wants >> to or gets there first. >> >> On 6/7/21 8:51 AM, Roger Mason wrote: >> > Hello, >> > >> > I'd like to be able to hide results, for example when I expect the >> > them to span many lines. I know I can hit =tab= on the #+RESULTS: line, >> > but I'd like to be able to set this automatically. >> > >> > My most recent effort: >> > >> > #+name: hideresults >> > #+begin_src emacs-lisp :results none :exports none >> > (add-to-invisibility-spec '(org-babel-hide-result . t)) >> > #+end_src >> > >> > run like this >> > >> > #+header: :engine postgresql :dbhost "localhost" :dbuser "rmason" >> :database "test" :colnames yes >> > #+header: :post hideresults >> > #+name: pgquery >> > #+begin_src sql >> > select timestamp,nempty0 from settings where timestamp like '%20210528%' >> > #+end_src >> > >> > produces >> > >> > #+RESULTS: pgquery >> > : nil >> > >> > I'm sure there is a way to do this, but I need some pointers as to how. >> > >> > Thanks for any help. >> > >> > Roger >> > >> > Org mode version 9.2.3 (release_9.2.3-390-gfb5091 @ >> > /home/rmason/.emacs.d/org-git/lisp/) >> > >> > GNU Emacs 27.2 (build 1, amd64-portbld-freebsd11.4, X toolkit, cairo >> version 1.16.0, Xaw3d scroll bars) >> > >> >> [-- Attachment #2: Type: text/html, Size: 4176 bytes --]
[-- Attachment #1: Type: text/plain, Size: 3702 bytes --] it is the name of blocks that use emacs-jupyter ( https://github.com/nnicandro/emacs-jupyter) (instead of ob-ipython). Basically it is a connection between org-src blocks and a jupyter kernel (it does not have to be python, it can be julia, R, etc.) I am trying it out this summer. I think that code should work on most src-blocks though. John ----------------------------------- Professor John Kitchin (he/him/his) Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu On Mon, Jun 7, 2021 at 5:21 PM George Mauer <gmauer@gmail.com> wrote: > Woah woah. What is the jupyter-python language, John? > > On Mon, Jun 7, 2021, 15:44 John Kitchin <jkitchin@andrew.cmu.edu> wrote: > >> This is doable with a hook and advice I think. The hook will hide the >> results if you use :results hide in the header. >> >> I had to use the advice to remove the results before hand, so that you >> toggle the visibility off. This is pretty lightly tested. you could >> eliminate >> >> (defun hide-results (&optional &rest args) >> (let ((results (cdr (assoc :results (third >> (org-babel-get-src-block-info 'light)))))) >> (when (string-match "hide" results) >> (org-babel-hide-result-toggle t)))) >> >> (add-hook 'org-babel-after-execute-hook 'hide-results) >> >> (advice-add 'org-babel-execute-src-block :before (lambda (&rest args) >> (org-babel-remove-result))) >> >> I guess there are other ways that might work too. >> >> #+BEGIN_SRC jupyter-python :results hide >> print(5) >> #+END_SRC >> >> #+RESULTS: >> : 5 >> >> >> John >> >> ----------------------------------- >> Professor John Kitchin (he/him/his) >> Doherty Hall A207F >> Department of Chemical Engineering >> Carnegie Mellon University >> Pittsburgh, PA 15213 >> 412-268-7803 >> @johnkitchin >> http://kitchingroup.cheme.cmu.edu >> >> >> >> On Mon, Jun 7, 2021 at 10:03 AM Nick Savage <nick@nicksavage.ca> wrote: >> >>> My initial thoughts are that this is very possible. This might be an >>> area where we could add a new defcustom on always hiding the results to >>> allow the user to choose it. Without looking at the code, I think it >>> would be pretty straight forward to make an excursion to the results >>> line, toggle showing it, then going back to where the point was. >>> >>> I can take a crack at a patch in the next day or so if no one else wants >>> to or gets there first. >>> >>> On 6/7/21 8:51 AM, Roger Mason wrote: >>> > Hello, >>> > >>> > I'd like to be able to hide results, for example when I expect the >>> > them to span many lines. I know I can hit =tab= on the #+RESULTS: >>> line, >>> > but I'd like to be able to set this automatically. >>> > >>> > My most recent effort: >>> > >>> > #+name: hideresults >>> > #+begin_src emacs-lisp :results none :exports none >>> > (add-to-invisibility-spec '(org-babel-hide-result . t)) >>> > #+end_src >>> > >>> > run like this >>> > >>> > #+header: :engine postgresql :dbhost "localhost" :dbuser "rmason" >>> :database "test" :colnames yes >>> > #+header: :post hideresults >>> > #+name: pgquery >>> > #+begin_src sql >>> > select timestamp,nempty0 from settings where timestamp like >>> '%20210528%' >>> > #+end_src >>> > >>> > produces >>> > >>> > #+RESULTS: pgquery >>> > : nil >>> > >>> > I'm sure there is a way to do this, but I need some pointers as to how. >>> > >>> > Thanks for any help. >>> > >>> > Roger >>> > >>> > Org mode version 9.2.3 (release_9.2.3-390-gfb5091 @ >>> > /home/rmason/.emacs.d/org-git/lisp/) >>> > >>> > GNU Emacs 27.2 (build 1, amd64-portbld-freebsd11.4, X toolkit, cairo >>> version 1.16.0, Xaw3d scroll bars) >>> > >>> >>> [-- Attachment #2: Type: text/html, Size: 5483 bytes --]
[-- Attachment #1: Type: text/plain, Size: 3948 bytes --] Cool, thanks! On Mon, Jun 7, 2021 at 4:31 PM John Kitchin <jkitchin@andrew.cmu.edu> wrote: > it is the name of blocks that use emacs-jupyter ( > https://github.com/nnicandro/emacs-jupyter) (instead of ob-ipython). > Basically it is a connection between org-src blocks and a jupyter kernel > (it does not have to be python, it can be julia, R, etc.) I am trying it > out this summer. > > I think that code should work on most src-blocks though. > > John > > ----------------------------------- > Professor John Kitchin (he/him/his) > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > @johnkitchin > http://kitchingroup.cheme.cmu.edu > > > > On Mon, Jun 7, 2021 at 5:21 PM George Mauer <gmauer@gmail.com> wrote: > >> Woah woah. What is the jupyter-python language, John? >> >> On Mon, Jun 7, 2021, 15:44 John Kitchin <jkitchin@andrew.cmu.edu> wrote: >> >>> This is doable with a hook and advice I think. The hook will hide the >>> results if you use :results hide in the header. >>> >>> I had to use the advice to remove the results before hand, so that you >>> toggle the visibility off. This is pretty lightly tested. you could >>> eliminate >>> >>> (defun hide-results (&optional &rest args) >>> (let ((results (cdr (assoc :results (third >>> (org-babel-get-src-block-info 'light)))))) >>> (when (string-match "hide" results) >>> (org-babel-hide-result-toggle t)))) >>> >>> (add-hook 'org-babel-after-execute-hook 'hide-results) >>> >>> (advice-add 'org-babel-execute-src-block :before (lambda (&rest args) >>> (org-babel-remove-result))) >>> >>> I guess there are other ways that might work too. >>> >>> #+BEGIN_SRC jupyter-python :results hide >>> print(5) >>> #+END_SRC >>> >>> #+RESULTS: >>> : 5 >>> >>> >>> John >>> >>> ----------------------------------- >>> Professor John Kitchin (he/him/his) >>> Doherty Hall A207F >>> Department of Chemical Engineering >>> Carnegie Mellon University >>> Pittsburgh, PA 15213 >>> 412-268-7803 >>> @johnkitchin >>> http://kitchingroup.cheme.cmu.edu >>> >>> >>> >>> On Mon, Jun 7, 2021 at 10:03 AM Nick Savage <nick@nicksavage.ca> wrote: >>> >>>> My initial thoughts are that this is very possible. This might be an >>>> area where we could add a new defcustom on always hiding the results to >>>> allow the user to choose it. Without looking at the code, I think it >>>> would be pretty straight forward to make an excursion to the results >>>> line, toggle showing it, then going back to where the point was. >>>> >>>> I can take a crack at a patch in the next day or so if no one else >>>> wants >>>> to or gets there first. >>>> >>>> On 6/7/21 8:51 AM, Roger Mason wrote: >>>> > Hello, >>>> > >>>> > I'd like to be able to hide results, for example when I expect the >>>> > them to span many lines. I know I can hit =tab= on the #+RESULTS: >>>> line, >>>> > but I'd like to be able to set this automatically. >>>> > >>>> > My most recent effort: >>>> > >>>> > #+name: hideresults >>>> > #+begin_src emacs-lisp :results none :exports none >>>> > (add-to-invisibility-spec '(org-babel-hide-result . t)) >>>> > #+end_src >>>> > >>>> > run like this >>>> > >>>> > #+header: :engine postgresql :dbhost "localhost" :dbuser "rmason" >>>> :database "test" :colnames yes >>>> > #+header: :post hideresults >>>> > #+name: pgquery >>>> > #+begin_src sql >>>> > select timestamp,nempty0 from settings where timestamp like >>>> '%20210528%' >>>> > #+end_src >>>> > >>>> > produces >>>> > >>>> > #+RESULTS: pgquery >>>> > : nil >>>> > >>>> > I'm sure there is a way to do this, but I need some pointers as to >>>> how. >>>> > >>>> > Thanks for any help. >>>> > >>>> > Roger >>>> > >>>> > Org mode version 9.2.3 (release_9.2.3-390-gfb5091 @ >>>> > /home/rmason/.emacs.d/org-git/lisp/) >>>> > >>>> > GNU Emacs 27.2 (build 1, amd64-portbld-freebsd11.4, X toolkit, cairo >>>> version 1.16.0, Xaw3d scroll bars) >>>> > >>>> >>>> [-- Attachment #2: Type: text/html, Size: 5840 bytes --]
Hello,
John Kitchin writes:
> This is doable with a hook and advice I think. The hook will hide the
> results if you use :results hide in the header.
>
> I had to use the advice to remove the results before hand, so that you
> toggle the visibility off. This is pretty lightly tested. you could
> eliminate
>
> (defun hide-results (&optional &rest args)
> (let ((results (cdr (assoc :results (third (org-babel-get-src-block-info
> 'light))))))
> (when (string-match "hide" results)
> (org-babel-hide-result-toggle t))))
>
> (add-hook 'org-babel-after-execute-hook 'hide-results)
>
> (advice-add 'org-babel-execute-src-block :before (lambda (&rest args)
> (org-babel-remove-result)))
>
> I guess there are other ways that might work too.
>
> #+BEGIN_SRC jupyter-python :results hide
> print(5)
> #+END_SRC
>
> #+RESULTS:
> : 5
That works very well.
Many thanks.
Roger